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

时间:2012-07-02 07:25:41

标签: java eclipse maven m2e

我正在使用一个特殊的Maven插件,它提供自定义打包类型并定义一个特殊的生命周期映射。但它仍然是一个类似Java的项目,因此我希望Eclipse(使用m2e插件)将项目作为Java项目导入(在.project文件中具有java特性)。但它总是将它作为一个没有Java性质的简单项目导入。我总是需要手动将java特性添加到.project文件中。

我还尝试保持包装类型“jar”并更改插件以提供“jar”的自定义生命周期映射。但m2e仍然不认为它是一个java项目。

那么m2e如何决定是否必须在项目中启用Java特性呢?或者是否有一些特殊的m2e配置我可以放入Maven pom.xml来告诉m2e我的项目是一个java项目?

2 个答案:

答案 0 :(得分:2)

发现它!无需将包装类型更改为" 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性质添加到项目中,并仍然执行自定义生命周期。

答案 1 :(得分:0)

尝试将maven eclipse插件添加到您的POM文件中。

> <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-eclipse-plugin</artifactId>
>         <version>2.9</version>
> </plugin>