【发布时间】:2016-08-05 18:50:01
【问题描述】:
我正在运行不同的 java 项目。了解每次在它们之间切换时更改 java_home 系统环境是一个坏主意,我开始独立专门为它们中的每一个设置 JAVA_HOME。 当我为 maven(版本 2)运行时设置 JAVA_HOME 时(java maven 用来运行,是一个 java 应用程序)? 据我了解,maven 的 JAVA_HOME 不应影响我的代码的编译和运行方式(应该使用 maven-compiler-plugin 源和目标进行配置)。对吧?
当我在 mvn.bat 中设置 JAVA_HOME 时:
@REM Maven2 Start Up Batch script
set JAVA_HOME=C:\dev\tools\jdk-1.6
我的 maven-compiler-plugin 是这样配置的:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
我收到此错误:
[ERROR] BUILD ERROR
[INFO] --------------------------------------
[INFO] Fatal error compiling
Embedded error: invalid target release: 1.7
为什么为 maven 运行时指定的 JAVA_HOME 会影响我的代码编译?两者如何区分?
【问题讨论】:
-
.... 首先你告诉你的机器使用 JDK6,然后你编译 Java 7,你认为这不会导致问题?
-
在 Java 6 上运行 Maven 的原因是什么?
-
@Stultuske 是对的...将
maven-compiler-plugin的源和目标更改为1.6 -
我假设我在告诉 --MAVEN-- 使用 jdk6 运行。不要使用 jdk6 编译我的代码(但使用源代码中指定的 1.7)。有错吗?
-
@MoneerOmar 您正在尝试使用 1.6 JDK 使用 1.7 编译它。
标签: java eclipse maven jdk1.6 java-home