4

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

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

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

4

2 回答 2

3

找到了!无需将包装类型更改为“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性质,仍然执行自定义的生命周期。

于 2012-07-02T09:07:01.970 回答
0

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

> <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-eclipse-plugin</artifactId>
>         <version>2.9</version>
> </plugin>
于 2012-07-02T07:44:41.507 回答