verificar tengo saber que por instalado control consola como actualizar abrir java maven

tengo - ¿Cómo averiguo y cambio qué versión de Java Maven está utilizando para ejecutar?



Cuando ejecutamos nuestra compilación Maven, un miembro de mi equipo recibe this error al ejecutar. Sin embargo, cuando ejecutamos java -version desde su línea de comando, indica Java 1.6.0_26. El error obviamente parece estar gritando que Maven está usando Java 5.

¿Cómo averiguo y cambio qué versión de Java está utilizando Maven?

3 notas potencialmente importantes:

  1. Esto se ejecuta en la línea de comando, sin usar el plugin de Eclipse
  2. JAVA_HOME está configurado en Java 1.6 JDK
  3. Usando Maven 2.2.1

Tendrá que configurar maven-compiler-plugin para usar 1.6 parámetros source y target (de manera predeterminada es 1.5).

Este es el mejor hecho en el pom padre de su proyecto en la sección <pluginManagment> (pero siempre puede configurarlo por proyectos individuales, por supuesto).

<build> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin> </plugins> </pluginManagement> </build>


mvn -version generará el java que está usando. Si JAVA_HOME está establecido en un directorio JDK válido y Maven está utilizando algo más, entonces lo más probable es que alguien haya manipulado la forma en que Maven se inicia.


mvn -version te dice qué compilador usa Maven, por lo que responde a la pregunta a menos que tu POM especifique los valores de anulación para las versiones que se utilizarán.

Esta es la forma más fácil de especificar las anulaciones en pom.xml :

<properties> <maven.compiler.target>1.9</maven.compiler.target> <maven.compiler.source>1.9</maven.compiler.source> </properties>

Alternativamente, el maven-compiler-plugin se puede especificar más explícitamente. En ese caso, observe los valores <source> y <target> asociados con el complemento.

Ambas opciones se describen here .

Si su POM tiene un <parent> , entonces necesita verificar eso también (recursivamente).

Nota: Cuando se especifican el source y el target , estos valores se pasan como opciones de línea de comando al compilador. Usando esta característica, puede compilar o ejecutar contra versiones anteriores de Java que el valor nominal del compilador.