Rom*_*man 5 java maven-2 maven-plugin maven
我正在开发一种新的魔力。它只有一个目标,因此不强制用户添加executions部分似乎合乎逻辑(如果他们不想更改 default phase)。
这应该是可能的,因为当我添加一个非常简单的surefire插件描述时,maven 明白test应该运行它的单一目标,即:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
</plugin>
Run Code Online (Sandbox Code Playgroud)
这足以运行插件。
如何为我的插件实现类似的小配置?
这是我现在拥有的(并且没有executions部分就无法工作):
/**
*
* @goal test
* @phase test
*/
public class MyMojoPlugin extends AbstractMojo {
... (implementation details)
}
Run Code Online (Sandbox Code Playgroud)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.somegroup</groupId>
<artifactId>mymojo-maven-plugin</artifactId>
<packaging>maven-plugin</packaging>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0</version>
</dependency>
.... (other dependencies)
</dependencies>
<build>
<plugins>
... (some plugins)
</plugins>
</build>
</project>
Run Code Online (Sandbox Code Playgroud)
“默认”生命周期绑定是在 Maven 中定义的。构建生命周期文档对此进行了描述,该文档还指出插件需要“执行”部分。
我想您可以编辑Components.xml并为您的特定站点重新编译 Maven。
在我看来,至少对于内部开发来说,更好的选择是使用包含特定于站点的配置的共享父 POM。
编辑:我正在寻找对 Parent POM 的引用,并看到了这个。我不确定这是否是 Maven3 独有的功能,但它可能值得研究。
| 归档时间: |
|
| 查看次数: |
1580 次 |
| 最近记录: |