我正在使用一个特殊的 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性质,仍然执行自定义的生命周期。
关于java - m2e如何判断项目是否具有java性质?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11289328/