我需要使用Java 6,但即使在完成所有配置之後,NetBeans也不會使用它。它繼續運行Maven,併爲我的IDE提供Java 8的默認值。在Eclipse上相同的配置運行良好,所以我不明白我做錯了什麼。如何在NetBeans 8的Maven項目中使用較舊版本的Java(非默認值)
我不想在nb-configuration.xml中定義編譯器,因爲我必須提交該文件。我希望NetBeans能夠從POM中獲得它。
一般資料:
- 我爲了工作
- 使用Maven 3.2.3使用Java的8
- NetBeans的8只需要JDK 7+運行的NetBeans 8.0.1(完全更新)但嵌入式(的Maven 3.0.5沒有工作,以及)
- 所有Maven插件都是最新
要重現只需創建一個Maven幻燈任何類型的NetBeans ct。在我的情況下,我嘗試了Java,Web和EJB,但都沒有成功。
下圖顯示了JDK已正確添加到IDE中。
工具>的Java平臺
JDK 1.6的溶液。我曾嘗試
POM配置:
屬性
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
編譯器插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
強制實施插件
強制實施的Java 6提供了以下錯誤:
Detected JDK Version: 1.8.0-25 is not in the allowed range [1.6,1.7).
------------------------------------------------------------------------
BUILD FAILURE
配置的實施者:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[1.6,1.7)</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
測試代碼的Java 6
下面的代碼應該不是 comp ILE:
import java.nio.file.Files;
import java.time.LocalTime;
public class JavaVersionChecker {
public static void main(String[] args) {
System.out.println(Files.class); // Java 7 API
System.out.println("Time: " + LocalTime.now()); // Java 8 API
// Print Java version
System.out.println(System.getProperty("java.version"));
}
}
測試輸出
測試代碼編譯的Java 7和8 API,但只有Java 6中應該被接受。
------------------------------------------------------------------------
Building java6_project 1.0-SNAPSHOT
------------------------------------------------------------------------
--- exec-maven-plugin:1.2.1:exec (default-cli) @ java6_project ---
class java.nio.file.Files
Time: 19:24:05.997
1.8.0_25
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 0.610 s
Finished at: 2014-11-21T19:24:06-02:00
Final Memory: 6M/123M
------------------------------------------------------------------------
JDK 6應由IDE來檢測
請注意1.6也滿足1.8。 – mkleint 2014-11-22 03:44:29
我也不確定「portable」是什麼意思,是「我不想做任何IDE特定的設置」?那麼你的問題沒有解決辦法。不過,有一些方法可以一次性完成設置,並在項目和同事之間共享(因此只需設置一次)。如果你閱讀了在nb-configuration.xml中生成的內容,它會給你一個提示。 – mkleint 2014-11-22 03:47:55
@mkleint對於你的拳頭評論,我用正確的conf來編輯了這個問題。 TX。 – BonanzaOne 2014-11-22 13:36:39