我正在开发一个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;