Vic*_*cky 10 build-process maven-2 build maven
我正在阅读一本书,解释如何覆盖Maven的"默认"生命周期.
它说:要为包装类型定义新的生命周期,您需要在Plexus中配置LifecycleMapping组件.在您的插件项目中,在src/main/resources下创建META-INF/plexus/components.xml.在components.xml中添加内容,如下所示,您就完成了.通过以下配置,我可以自定义'jar'包装类型的默认生命周期.现在如果我执行
$ mvn包
它直接执行'package'阶段跳过默认生命周期的所有其他阶段并执行'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>
Run Code Online (Sandbox Code Playgroud)
我的问题是:我如何定制"干净"的生命周期.例如,假设某些类型
$ mvn clean
而不是运行clean:clean将执行'maven-clean-plugin'插件的'clean'目标,我想执行'customPluan'的'customClean'目标.
Mat*_*ard 19
对于您所描述的内容,maven-clean-plugin在clean阶段期间阻止运行更简单,并将customPlugin附加到clean阶段.这比短路整个生命周期更简单,并将所有maven配置保存在您的pom中.
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3074 次 |
| 最近记录: |