[英]setting JAVA_HOME for Maven ONLY regardless of my code java
我正在運行不同的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會影響我的代碼編譯? 如何將兩者分開?
Maven將使用JAVA_HOME
指定的JRE默認情況下,它將使用同一文件夾中的JDK來編譯.java
文件
但是,您可以在maven-compile-plugin
配置中更改它
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!-- path-to-javac --></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
</plugins>
[...]
</build>
[...]
</project>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.