En primer lugar, si su puesta en marcha requiere algo llamado "nombre de grupo", es probable que deberían proporcionar un valor significativo. Si tiene que ser único, puede agregar algunos caracteres generados, como "MiAplicación-10937410". Además, usar un UUID me parece como usar un martillo para romper una nuez. Pero esto es independiente de su problema real, así que aquí está la solución que propongo:
Si aún no lo ha hecho, cree un plugin maven (hay un arquetipo para eso). Añadir esta dependencia:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.2.1</version>
</dependency>
Así es como su MOJO debe verse como:
/**
* 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);
}
}
En sus proyectos reales POM, utilice ${uniqueGroupName}
dondequiera que lo necesite y configurar el plug-in como esto
<build>
<plugins>
<plugin>
<groupId>the.plugin.groupid</groupId>
<artifactId>groupNameGenerator</artifactId>
<executions>
<execution>
<goals><goal>generate</goal></goals>
</execution>
</executions>
<plugin>
me llevó como 3 segundos para Google y me sentía sucia si hacía upvoted como una respuesta, pero aquí hay un excelente forma de hacerlo: http://johannburkard.de/software/uuid/ –
@David El enlace muestra cómo agregar lib que genera UUID, pero supongo que OP necesita configurar el UUID para que se establezca en pom. @Shekhar corrígeme si estoy equivocado –
¿Qué estás tratando de lograr? El vay simple es cargarlo a través de la línea de comando: 'mvn build" -Dcommand.line.prop = hola otra vez "' Y la usas como 'line.prop = $ {command.line.prop}' – amra