我尝试在自定义 maven MOJO 中获取系统属性的值,如下所述:https ://maven.apache.org/developers/mojo-api-specification.html 。我尝试从以下命令行获取值的属性是“releaseVersion”:
mvn -DdevelopmentVersion=0.0.0.7-SNAPSHOT -DreleaseVersion=0.0.0.6 -Dresume=false release:clean release:prepare release:perform
在我的自定义 MOJO 中,我尝试使用以下代码将系统属性注入到属性中:
@Mojo(name = "release-change", defaultPhase = LifecyclePhase.COMPILE)
public class ReleaseChangesMojo extends AbstractMojo
{
@Parameter(property = "releaseVersion", defaultValue = "${releaseVersion}", required = true)
private String releaseVersion;
我的 pom.xml 包含这个来启动我的 MOJO :
<plugin>
<groupId>fr.my.plugin</groupId>
<artifactId>my-release-maven-plugin</artifactId>
<version>0.0.5</version>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
...
<configuration combine.self="override">
<preparationGoals>clean verify</preparationGoals>
<goals>deploy</goals>
<completionGoals>my-release:release-change</completionGoals>
...
</configuration>
</plugin>
</plugins>
</pluginManagement>
但在执行时,我收到以下错误:
[ERROR] Failed to execute goal plugin:my-release-maven-plugin:0.0.5:release-change (default-cli) on project exemple: The parameters 'releaseVersion' for goal fr.my.plugin:my-release-maven-plugin:0.0.5:release-change are missing or invalid -> [Help 1]
你知道为什么系统属性没有注入我的 MOJO 吗?