![](/img/trans.png)
[英]How can I make eclipse detect my new java class in my m2e maven project?
[英]How does m2e decide if project has java nature?
我正在使用一個特殊的Maven插件,它提供了一個自定義的打包類型,並定義了一個特殊的生命周期映射。 但它仍然是一個類似Java的項目,因此我希望Eclipse(使用m2e插件)將項目作為Java項目導入(在.project文件中具有java特性)。 但它總是將它作為一個沒有Java性質的簡單項目導入。 我總是需要手動將java特性添加到.project文件中。
我還嘗試保持包裝類型“jar”並更改插件以提供“jar”的自定義生命周期映射。 但m2e仍然不認為它是一個java項目。
那么m2e如何決定它是否必須在項目中啟用Java性質呢? 或者是否有一些特殊的m2e配置我可以放入Maven pom.xml告訴m2e我的項目是一個java項目?
找到了! 無需將包裝類型更改為“JAR”。 我只需要在生命周期映射中包含maven-compiler-plugin:
<!DOCTYPE component-set>
<component-set>
<components>
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>custom</role-hint>
<implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
<configuration>
<phases>
<compile>
org.apache.maven.plugins:maven-compiler-plugin:compile,
my.custom.plugin:compile
</compile>
</phases>
</configuration>
</component>
</components>
</component-set>
現在m2e在導入時將java性質添加到項目中並仍然執行自定義生命周期。
嘗試將maven eclipse插件添加到您的POM文件中。
> <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-eclipse-plugin</artifactId> > <version>2.9</version> > </plugin>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.