Solución:
Maven usa el JAVA_HOME
parámetro para encontrar qué versión de Java se supone que debe ejecutar. Veo por su comentario que no puede cambiar eso en la configuración.
- Puede configurar el
JAVA_HOME
parámetro justo antes de iniciar maven (y cámbielo después si es necesario). - También puedes entrar en tu
mvn
(sin ventanas) /mvn.bat
/mvn.cmd
(Windows) y establezca su versión de Java explícitamente allí.
En el POM, puede establecer las propiedades del compilador, por ejemplo, para 1.8:
<project>
...
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
...
</project>
Agregar una solución para personas con múltiples versiones de Java instaladas
Tenemos una gran base de código, la mayor parte de la cual está en Java. La mayor parte de lo que trabajo está escrito en Java 1.7 o 1.8. Ya que JAVA_HOME
es estático, creé alias en mi .bashrc
para ejecutar Maven con diferentes valores:
alias mvn5="JAVA_HOME=/usr/local/java5 && mvn"
alias mvn6="JAVA_HOME=/usr/local/java6 && mvn"
alias mvn7="JAVA_HOME=/usr/local/java7 && mvn"
alias mvn8="JAVA_HOME=/usr/local/java8 && mvn"
Esto me permite ejecutar Maven desde la línea de comandos en mi máquina de desarrollo, independientemente de la versión de JDK utilizada en el proyecto.
Editar: Una mejor solución la presenta la respuesta de Ondrej, que evita recordar los alias.