在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。
如何将Maven设置为使用1.7?
在我的机器上,我安装了两个Java版本:(1.6和1.7由我手动安装)。我在不同的项目中都需要他们。但对于Maven,我需要1.7,但我的Maven使用1.6 Java版本。
如何将Maven设置为使用1.7?
当前回答
设置Java默认版本 您的系统上可能有两个不同版本的Java。要设置一个为默认值,使用命令:
Sudo选项——配置Java
系统显示不同Java版本的列表。如果您喜欢默认设置,请按Enter。
如果您想更改它,输入您想要的版本号,然后按Enter。
其他回答
为了避免对项目和环境变量的任何影响,您可以将Maven Compiler Plugin配置为项目的POM,指定源和目标java版本
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
...
</plugins>
我在mac上没有成功,只是在控制台中设置JAVA_HOME,但我成功地使用了这种方法
在您的主目录下创建.mavenrc文件(因此文件的路径将是~/.mavenrc 导出JAVA_HOME=$(/usr/libexec/ JAVA_HOME -v 1.7)
我正在使用Mac,上面的答案对我没有任何帮助。我发现maven从:~/.mavenrc中指定的路径加载自己的JAVA_HOME
我将文件的内容更改为:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
对于Linux,它看起来像这样:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
您可以使用maven-compiler-plugin使用不同的JDK配置编译源。
只需在<executable>标签中指定路径到javac。例如,对于java11,它看起来像:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>11</source>
<target>11</target>
<fork>true</fork>
<executable>C:\Program Files\Java\jdk-11.0.1\bin\javac</executable> <!--PATH TO JAVAC -->
</configuration>
</plugin>
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45\jre
在$MAVEN_HOME\bin\mvn中添加上述代码行作为第一条语句。cmd在Windows 10中立即为我工作了。