Maven 2 覆盖';清洁';Maven中的生命周期
我正在阅读一本书,书中解释了如何覆盖Maven的“默认”生命周期 它说:要为包装类型定义新的生命周期,您需要在Plexus中配置LifecycleMapping组件。在插件项目中,在src/main/resources下创建META-INF/plexus/components.xml。在components.xml中添加如下所示的内容,就完成了。通过下面的配置,我可以自定义“jar”包装类型的默认生命周期。现在如果我执行Maven 2 覆盖';清洁';Maven中的生命周期,maven-2,build,maven,build-process,Maven 2,Build,Maven,Build Process,我正在阅读一本书,书中解释了如何覆盖Maven的“默认”生命周期 它说:要为包装类型定义新的生命周期,您需要在Plexus中配置LifecycleMapping组件。在插件项目中,在src/main/resources下创建META-INF/plexus/components.xml。在components.xml中添加如下所示的内容,就完成了。通过下面的配置,我可以自定义“jar”包装类型的默认生命周期。现在如果我执行 $mvn套餐 它执行“包”阶段,跳过默认生命周期的所有其他阶段,并执行“
$mvn套餐
它执行“包”阶段,跳过默认生命周期的所有其他阶段,并执行“maven zip plugin”的“echo”目标
<component-set>
<components>
<component>
<role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
<role-hint>zip</role-hint>
<implementation>
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
</implementation>
<configuration>
<phases>
<package>org.sonatype.mavenbook.plugins:maven-zip-plugin:echo
</package>
</phases>
</configuration>
</component>
</components>
</component-set>
org.apache.maven.lifecycle.mapping.LifecycleMapping
拉链
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
插件:maven zip插件:echo
我的问题是:如何定制“干净”的生命周期。例如,假设有人键入$mvn清洁
不是运行clean:clean,它将执行“maven clean plugin”插件的“clean”目标,我想执行“customPlugin”的“customClean”目标。对于您所描述的,更简单的方法是在
clean
阶段阻止maven clean plugin
运行,并将customPlugin附加到clean
阶段。这比缩短整个生命周期更简单,并且将所有maven配置都保存在pom中
1防止maven clean插件
maven清洁插件
2.4.1
真的
2将自己的插件连接到清理阶段
maven自定义插件
自定义插件版本
定制清洁
海关清洁
清洁的
这是一个更优雅的解决方案是的。。这是解决我问题的最简单办法。
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-customPlugin-plugin</artifactId>
<version>customPlugin-version</version>
<executions>
<execution>
<id>customised-clean</id>
<goals>
<goal>customClean</goal>
</goals>
<phase>clean</phase>
</execution>
</executions>
</plugin>