[英]How to execute a specific plugin/Mojo from a pom.xml programmatically?
[英]Passing value from Mojo to pom
我正在開發一個 maven 插件,我有一個名為“FinalVersion”的參數,它在 Mojo 中創建為 @Parameter 並且它的值在 Mojo 類中設置。 我需要將“finalversion”傳遞給我的 pom 文件,並將其用作其他插件配置中的元素。 像這樣:
@Mojo(name = "validate", defaultPhase = LifecyclePhase.COMPILE)
public class VersionValidatorMojo extends AbstractMojo{
.
.
@Parameter(property = "finalVersion")
private String finalVersion ;
我想在我的 pom.xml 中有這樣的東西
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>custom-maven-release-plugin</artifactId>
<configuration>
<goals>release</goals>
<version>finalversion</version>
</configuration>
</plugin>
另外在我的場景中,我的項目版本由開發人員設置,而不是從 SCM 獲取,我可以使用哪個插件?
最好的
你的 POM 應該使用finalVersion
標簽
<configuration>
<finalversion>X.Y</finalversion>
</configuration>
這是另一個帶有名為locations的參數的完整示例
<plugin>
<groupId>mygroup</groupId>
<artifactId>myapp</artifactId>
<version>${project.version}</version>
<configuration>
<locations>
<param>${basedir}/src/main/resources/db/toBeIncluded</param>
<param>${basedir}/src/main/resources/db/migration/upgrade</param>
</locations>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
</plugin>
在我的 Mojo 實現中,我定義了
@Parameter
private String[] locations;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.