cómo hacer referencia a la versión del artefacto de dependencyManagement en maven pom
Frecuentes
Visto 2,642 veces
0
Tengo el siguiente maven pom.xml
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.abc.def.ghi</groupId>
<artifactId>core-with-releases</artifactId>
<version>1</version>
<properties>
<yum-repo>/var/www/html/core-repo</yum-repo>
</properties>
<organization>
<name>ABC DEF GHI</name>
</organization>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.aaa.bbb.ccc.ddd</groupId>
<artifactId>core</artifactId>
<version>1.1.3</version>
<type>rpm</type>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<executions>
<execution>
<id>create-directory</id>
<phase>process-resources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>mkdir</executable>
<arguments>
<argument>${yum-repo}${dependencies["com.aaa.bbb.ccc.ddd:core"].version}</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Ejecuto desde la línea de comando
mvn procesos limpios-recursos
Como resultado, quiero que se cree un directorio con el nombre que termina con la versión del artefacto del elemento dependencyManagement que es 1.1.3
¿Alguien puede ayudar con eso? Gracias.
1 Respuestas
1
Recomendaría usar propiedades para tales fines:
<properties>
<yum-repo>/var/www/html/core-repo</yum-repo>
<dep.groupId>com.aaa.bbb.ccc.ddd</dep.groupId>
<dep.artifactId>core</dep.artifactId>
<dep.version>1.1.3</dep.version>
</properties>
<organization>
<name>ABC DEF GHI</name>
</organization>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>${dep.groupId}</groupId>
<artifactId>${dep.artifactId}</artifactId>
<version>${dep.version}</version>
<type>rpm</type>
</dependency>
</dependencies>
...
<configuration>
<executable>mkdir</executable>
<arguments>
<argument>${yum-repo}${dep.version}</argument>
</arguments>
</configuration>
</execution>
</executions>
...
Debe tenerlo en cuenta al definir una dependencia en gestión de dependencias la dependencia será no vincularse como dependencia a su proyecto actual.
contestado el 03 de mayo de 12 a las 09:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas maven-3 or haz tu propia pregunta.
Estoy de acuerdo con esta solución. Cabe señalar que si estamos hablando de un proyecto Spring Boot, Spring Boot proporciona una forma de inyectar un bean con propiedades del archivo POM. - dablick