Tout d'abord, si votre configuration requiert quelque chose appelé « nom du groupe », vous devriez probablement fournir une valeur significative. S'il doit être unique, vous pouvez ajouter des caractères générés, tels que "MyApplication-10937410". De plus, utiliser un UUID me semble utiliser un marteau pour casser une noix. Mais ceci est indépendant de votre problème réel, alors voici la solution que je propose:
Si ce n'est pas déjà fait, créez un plugin maven (il existe un archétype pour cela). Ajouter cette dépendance:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.2.1</version>
</dependency>
Voici comment votre MOJO devrait ressembler à:
/**
* 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);
}
}
Dans vos projets réels pom, utilisez ${uniqueGroupName}
whereever vous en avez besoin et configurer votre plugin comme celui-ci
<build>
<plugins>
<plugin>
<groupId>the.plugin.groupid</groupId>
<artifactId>groupNameGenerator</artifactId>
<executions>
<execution>
<goals><goal>generate</goal></goals>
</execution>
</executions>
<plugin>
Ça m'a pris comme 3 secondes pour Google et je me sentirais sale si elle a obtenu upvoted comme une réponse, mais est ici un excellent moyen de le faire: http://johannburkard.de/software/uuid/ –
@David le lien montre comment ajouter lib qui génèrent UUID, mais je suppose que OP a besoin de définir UUID à définir dans pom lui-même. @Shekhar corrigez-moi si je me trompe –
Qu'essayez-vous de réaliser? Le simple vay est de le charger via la ligne de commande: 'mvn build" -Dcommand.line.prop = hello again "' Et vous l'utilisez comme 'line.prop = $ {command.line.prop}' – amra