繁体   English   中英

m2e如何决定项目是否具有java性质?

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM