[英]Why does eclipse not recognize Java nature of a multimodule maven project if name template is added to it?
我有一個組織為多個模塊的 springboot 項目。 我正在使用 Eclipse 2019-06(版本 4.12)和 jdk 1.8 update 131 和 apache maven 3.3.9 版本。
使用Maven導入項目時-> Existing maven projects -> select all project and module level poms->click on finish button ,它成功導入。
我可以將子模塊視為單獨的項目,可以通過右鍵單擊它們到項目工作區來單獨運行。 使用右鍵單擊 -> 運行方式 -> JUnit 測試成功運行JUnit 測試。
但是,如果我在導入項目時包含一個名稱模板,即使我在導入時也選擇了所有子 poms,子模塊也無法識別。
Java 文件顯示空 J,這表明它不識別 Java 性質。 因此,我無法運行JUnit測試並且ctrl+click導航到方法或類也不起作用。
在這兩種情況下, .project 的內容保持不變:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>my-springboot-app</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
我按照其他 stackoverflow 線程中的建議嘗試了以下步驟:
請注意,當我不導入項目時,eclipse 會在導入項目時構建項目,為其指定名稱模板,否則不會。
如果有人能讓我知道這是否是m2e 插件本身的問題,以及我是否應該使用其他插件,那就太好了。
Eclipse 4.12預裝了m2e 。 我想過使用名稱模板而不是切換工作區,這可能需要時間,以便可以在同一個Eclipse 工作區中看到 2-3 種風格的代碼。
問題在於自定義名稱被用作名稱模板。 當我使用任何可用選項(如 [groupid].[artifactid]-version 或僅使用 [artifactid]-version)時,m2e 成功導入項目。 我在較早的項目中看到了一些關於導入類解析的錯誤,但是當我關閉工作區中不相關的項目時它們就消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.