Escribí un código maven en netbeans que tiene aproximadamente más de 2000 líneas. Cuando lo compilo en netbeans, todo está bien, pero si quiero ejecutarlo en la línea de comandos, obtendré estos errores:
generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
        ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
        HashSet<Double> resid_List = new HashSet<Double>(Arrays.asList(resid_val));
generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
        List<Integer> ind_ovlpList = new ArrayList<Integer>(Arrays.asList(ind_ovlp));
generics are not supported in -source 1.3
(use -source 5 or higher to enable generics)
public class ColumnComparator implements Comparator<double[]> {
annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)
@OverrideIntenté usar Java 1.3.1, errores del compilador , pero obtuve más errores. En otras publicaciones descubrí que debería modificar pom.xml, pero no sé cómo. Aquí está mi pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany</groupId>
  <artifactId>mavenmain</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging>
   <name>mavenmain</name>
    <url>http://maven.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
        <artifactId>junit</artifactId>
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
     <dependency>
        <groupId>gov.nist.math</groupId>
        <artifactId>jama</artifactId>
        <version>1.0.2</version>
     </dependency>
   </dependencies>
 </project>Sería genial si me puedes ayudar.

Respuestas:
Vea la página de configuración para el complemento compilador maven:
http://maven.apache.org/plugins/maven-compiler-plugin/examples/set-compiler-source-and-target.html
Ah, y: no use Java 1.3.x, las versiones actuales son Java 1.7.xo 1.8.x
fuente
maven-compiler-plugin ya está presente en la dependencia de jerarquía de complementos en pom.xml. Check in POM efectivo.
Para abreviar, puede usar propiedades como esta:
Estoy usando maven 3.2.5
fuente
En general, no desea valorar solo la
sourceversión (javac -source 1.8por ejemplo) pero desea valorar tantosourcelatargetversión como la versión (javac -source 1.8 -target 1.8por ejemplo).Tenga en cuenta que desde Java 9, tiene una manera de transmitir información y de una manera más sólida para la compatibilidad de compilación cruzada (
javac -release 9).Maven que envuelve el
javaccomando proporciona múltiples formas de transmitir todas estas opciones estándar de JVM.¿Cómo especificar la versión JDK?
Usar
maven-compiler-pluginomaven.compiler.source/maven.compiler.targetpropiedades para especificarsourceytargetson equivalentes.y
son equivalentes de acuerdo con la documentación de Maven del complemento del compilador ya que
<source>los<target>elementos y en la configuración del compilador usan las propiedadesmaven.compiler.sourceymaven.compiler.targetsi están definidos.Acerca de los valores predeterminados para
sourceytarget, tenga en cuenta que desde el3.8.0compilador maven, los valores predeterminados han cambiado de1.5a1.6.Desde el maven-compiler-plugin 3.6 tiene una nueva forma de especificar la versión de Java
Puedes usar el
releaseargumento :También puede declarar solo la propiedad del usuario
maven.compiler.release:Pero en este momento, la última no será suficiente ya que la
maven-compiler-pluginversión predeterminada que usa no se basa en una versión lo suficientemente reciente.El
releaseargumento de Maven transmiterelease: una nueva opción estándar JVM que podríamos pasar de Java 9:De esta manera proporciona una forma estándar para especificar la misma versión para el
source, lostargety lasbootstrapopciones de JVM.Tenga en cuenta que la especificación de
bootstrapes una buena práctica para las compilaciones cruzadas y no le hará daño si tampoco realiza compilaciones cruzadas.¿Cuál es la mejor manera de especificar la versión JDK?
Para Java 8 y a continuación:
Ni
maven.compiler.source/maven.compiler.targetpropiedades o usar elmaven-compiler-plugines mejor. No cambia nada en los hechos, ya que finalmente las dos formas se basan en las mismas propiedades y el mismo mecanismo: el complemento compilador maven core.Bueno, si no necesita especificar otras propiedades o comportamientos que las versiones de Java en el complemento del compilador, usar este método tiene más sentido ya que es más conciso:
Desde Java 9:
El
releaseargumento (tercer punto) es una forma de considerar seriamente si desea utilizar la misma versión para elsourcey eltarget.fuente
Me enfrenté al mismo problema en el proyecto eclipse neon simple maven java
Pero agrego los detalles a continuación dentro del archivo pom.xml
Después de hacer clic derecho en proyecto> maven> actualizar proyecto (actualización de fuerza marcada)
Me resuelve mostrar un error en el proyecto
Espero que sea útil
Thansk
fuente
fuente