2011-01-26 40 views
4

当使用m2eclipse的 ...如果你在Maven项目单击鼠标右键,从弹出菜单中选择属性,您输入项目选项对话框,其中有一个Maven->生命周期部分允许定制哪些构建阶段应该绑定到构建生命周期,只要项目是刷新或清理。然而,这些自定义是粗粒度的,在“项目配置更新”时会丢失(同样,如果你把文件“org.maven.ide.eclipse.prefs”,这些设置保存在版本控制下......在项目导入,该文件将被覆盖)。如何使用m2eclipse-type项目的自定义生命周期?

寻找解决的办法,我发现this answer from pascal-thivent,他介绍了“如何创建项目的偏好一个新的Maven构建......”这的确在我的情况不是很帮助,因为“创造新-Builder的对话“在我的Eclipse设置中不幸的是找不到这样的Maven Builder。现有的构建器已禁用“Edit-Builder”按钮。

+0

发现,新的建造者 - 对话框,由帕斯卡尔所说,与调用创建org.eclipse.m2e.ui.internal.launch.MavenBuilderConfigurationTabGroup.createTabs(ILaunchConfigurationDialog,字符串) - 但是不知道,我如何教Eclipse让它在项目属性的构建器首选项中可用... – 2011-01-26 14:33:03

回答

0

使用Maven的所有构建信息都存储在pom.xml中,最详细的配置是maven plugin configuration

Eclipse IDE内部的所有配置都应该使用m2e Eclipse plugin完成。那么,我不知道在哪里可以找到所有可能的配置。但有些时候,在编辑pom.xml时会出现一些Eclipse选项警告。

这是我当前设置的示例。它由m2e生成。

<pluginManagement> 
     <plugins> 
      <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. --> 
      <plugin> 
       <groupId>org.eclipse.m2e</groupId> 
       <artifactId>lifecycle-mapping</artifactId> 
       <version>1.0.0</version> 
       <configuration> 
        <lifecycleMappingMetadata> 
         <pluginExecutions> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId>ro.isdc.wro4j</groupId> 
            <artifactId> 
             wro4j-maven-plugin 
            </artifactId> 
            <versionRange> 
             [1.4.0,) 
            </versionRange> 
            <goals> 
             <goal>jshint</goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <ignore></ignore> 
           </action> 
          </pluginExecution> 
          <pluginExecution> 
           <pluginExecutionFilter> 
            <groupId> 
             com.github.searls 
            </groupId> 
            <artifactId> 
             jasmine-maven-plugin 
            </artifactId> 
            <versionRange> 
             [1.2.0.0,) 
            </versionRange> 
            <goals> 
             <goal> 
              generateManualRunner 
             </goal> 
            </goals> 
           </pluginExecutionFilter> 
           <action> 
            <ignore></ignore> 
           </action> 
          </pluginExecution> 
         </pluginExecutions> 
        </lifecycleMappingMetadata> 
       </configuration> 
      </plugin> 

     </plugins> 
    </pluginManagement>