通过Maven生成UUID
我需要在maven pom.xml文件中设置一个属性,该属性应该是UUID。谁能告诉我
将属性设置为UUID的最佳方法是什么?
我正在使用启动gigaspaces的配置文件,并且gigaspaces需要组名,
想要唯一(uuid)。因此,在我的个人资料中,我想设置一个groupName属性值
每次构建都应更改。我自己写了一个UUIDGenerator插件,因为没有找到任何插件。
因此,我正在寻找如何实现这一目标?是写一个插件更好的选择,还是有一个
更容易的选择。
谢谢,
舍哈尔
回答:
首先,如果您的设置需要一个叫做“组名”的东西,那么您可能应该提供一个有意义的值。如果必须唯一,则可以附加一些生成的字符,例如“
MyApplication-10937410”。另外,在我看来,使用UUID就像使用大锤敲碎螺母。但这与您的实际问题无关,所以这是我建议的解决方案:
如果您还没有这样做,请创建一个maven插件(有一个原型)。添加此依赖项:
<dependency> <groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.2.1</version>
</dependency>
这就是您的MOJO外观:
/** * Goal which generates a group name.
*
* @goal generate
* @phase initialize
*/
public class GroupNameGeneratorMojo extends AbstractMojo {
/**
* @parameter expression="${project}"
* @required
* @readonly
*/
private MavenProject project;
@Override
public void execute() throws MojoExecutionException {
String groupName = ... ;
project.getProperties().setProperty("uniqueGroupName", groupName);
}
}
在您的实际项目pom中,使用所需的${uniqueGroupName}
任何位置并按如下方式配置您的插件
<build> <plugins>
<plugin>
<groupId>the.plugin.groupid</groupId>
<artifactId>groupNameGenerator</artifactId>
<executions>
<execution>
<goals><goal>generate</goal></goals>
</execution>
</executions>
<plugin>
以上是 通过Maven生成UUID 的全部内容, 来源链接: utcz.com/qa/422533.html