簡體   English   中英

Eclipse項目:Maven Eclipse插件設置了錯誤的JRE類路徑容器

[英]Eclipse project: Maven Eclipse Plugin set wrong JRE class path container

我有一個基於Eclipse Mars 2 Java8,Maven 3.5.4的工作區。 我使用mvn eclipse:clean eclipse:eclipse構建項目文件,並觀看以下maven輸出:

[INFO] Adding default classpath container: org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-**1.7**

工作區的默認JRE不是Java 7 ,而是Java 8 ,就像您看到以下Eclipse配置文件一樣:

<workspace>\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.launching.prefs.

包含以下數據:

 org.eclipse.jdt.launching.PREF_VM_XML=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>
        <vmSettings defaultVM\="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1538040823497*">
            <vmType id\="org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType">
                <vm id\="1431694854640" name\="jdk1.7.0_40" path\="C\:\\Program Files\\Java\\jdk1.7.0_40"/>
                <vm id\="1447417000092" name\="jdk1.6.0_45" path\="C\:\\Program Files\\Java\\jdk1.6.0_45"/>
                <vm id\="1538040823497" name\="jdk1.8.0_65" path\="C\:\\Program Files\\Java\\jdk1.8.0_65"/>
            </vmType>
    </vmSettings>

通過查看上述配置,您可能會注意到,默認VM具有vm id“ 1538040823497”,名為jdk1.8.0_65 ,位於C\\:\\\\Program Files\\\\Java\\\\jdk1.8.0_65

該VM已在Eclipse首選項Java /已安裝的JRE中正確注冊為Workspace Default,在執行環境JAVASE-1.8中被標記為“完全匹配”。

我什么都看不到,為什么Maven Eclipse插件將org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7視為正確的選擇,而不是JAVASE-1.8

我已經刪除了所有JRE並重新注冊了它們。

現在只有一個1.6、1.7和1.8環境,每個環境都有一個“完全匹配”,並且默認情況下檢查1.8(如上所示)。

我必須在每次生成項目時手動對其進行糾正(編輯構建路徑,將JRE庫從7更改為8),因為除非我手動分配了正確的JRE,否則所有使用Java 8功能(例如流或lambda函數)的文件都將指示編譯器錯誤。

我已經嘗試並操作了org.eclipse.jdt.launching.prefs ,重新定義了所有JRE,祈禱,詛咒或詢問Ouija板,但徒勞無功,總是Java 7是由eclipse插件分配的(順便說是版本2.10)。

有什么想法嗎?

在您的pom文件中,嘗試使用此命令:

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

您也可以引用此鏈接:

https://dzone.com/articles/maven-eclipse-and-java-9

或者,如果所有方法均失敗,請嘗試使用eclipse oxygen,它是一個預安裝了Maven Integration插件的較新版本(不是最新版本,但比Mars IMO更好),您所需要做的就是添加一個m2e-connector插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM