[英]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.