[英]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 后恢復:
如果與maven集成,eclipse似乎會系統地重置配置。
我可以重現您的問題,它看起來像是M2Eclipse的錯誤。
請向 Eclipse 報告。 錯誤 526838 -與 Maven 集成時,Eclipse 錯誤的模塊依賴於運行配置
作為解決方法,請使用外部工具配置而不是 Java 應用程序運行配置:
輸入以下值:
位置: 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
點擊運行
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.