簡體   English   中英

java 9 和 maven 的 Eclipse 問題

[英]Eclipse issue with java 9 and maven

我安裝了版本:Oxygen.1a Release (4.7.1a) Build id:20171005-1200支持 Java 9。

使用 eclipse.ini 上的建議配置

-vm
C:\Program Files\Java\jdk-9\bin\javaw.exe
--add-modules=ALL-SYSTEM

我已經開發了 java 9 (java 9 模塊化)代碼項目來測試依賴注入作為來自 Eclipse 的純 Java 項目,但是當我集成了從 Eclipse 運行我的 Maven 時,我系統地得到以下錯誤

啟動層初始化時出錯java.lang.module.FindException: Module com.my.module.hello.test not found

唯一的解決方案是添加 VM 參數

--module-path target/classes;../my-module-api/target/classes;../my-module-it/target/classes --module com.my.module.hello.test/com.my.module.hello.Reflection

在此處輸入圖片說明

實際上,如果將詳細參數添加到 Vm 參數中,我可以在加載過程中看到

... [0.694s][info][class,load] java.lang.NamedPackage 源碼:jrt:/java.base [0.697s][info][class,load] com.my.module.hello.MyHello 源碼: file:/C:/Users/212442540/workspace-training/my-module-prj/my-module/target/classes/ [0.698s][info][class,load] java.lang.module.ModuleDescriptor$$ Lambda$24/2114889273 來源:java.lang.module.ModuleDescriptor ...

當我刪除“--module-path”參數時,該行消失。

注意:Eclipse 能夠在編譯或編輯過程中正常工作。 查看完成情況等..

在此處輸入圖片說明

我還向我的項目添加了 modpath 依賴項

強制依賴項目配置

我在項目配置中手動添加了依賴項在此處輸入圖片說明

因此,Eclipse 似乎能夠編譯 java 9 模塊,但如果與 maven 集成,則無法運行模塊。

強制依賴 Configratin Run我也手動添加了依賴在此處輸入圖片說明 圖1

但日食繼續刪除它們。

之前:

手動

圖2

運行 eclipse 后恢復:

保存后 圖3

如果與maven集成,eclipse似乎會系統地重置配置。

我可以重現您的問題,它看起來像是M2Eclipse的錯誤。

請向 Eclipse 報告 錯誤 526838 -與 Maven 集成時,Eclipse 錯誤的模塊依賴於運行配置

作為解決方法,請使用外部工具配置而不是 Java 應用程序運行配置:

  1. 運行 > 外部工具 > 外部工具配置...
  2. 選擇程序並單擊左上角的新建啟動配置圖標
  3. 輸入以下值:

    位置: C:\\windows\\system32\\cmd.exe

    工作目錄: ${workspace_loc:/my-module}

    參數:

     /C java -p target/classes;../my-module-api/target/classes;../my-module-it/target/classes -m com.my.module.hello.test/com.my.module.hello.Reflection

  4. 點擊運行

暫無
暫無

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

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