una tecnologia repositorio que proyecto para generar estructura desde dependencia crear consola basico maven maven-plugin maven-deploy-plugin

tecnologia - repositorio maven



mvn deploy: archivo a diferentes repositorios para instantáneas y versiones de lanzamiento (4)

¿Es posible de alguna manera decirle al implemento de Maven: el objetivo del archivo a desplegar en dos artefactos independientes en función de si la versión del proyecto es una instantánea / versión?

Espero que exista una propiedad que indique el hecho de que la versión tiene -SNAPSHOT antepuesta, o quizás el artefacto predeterminado para su implementación (que ya se ha resuelto en base al número de versión).

Pensé en usar dos perfiles diferentes y calcular si es una instantánea en ant. Analizando el archivo pom.xml, pero preferiría una solución más limpia si es posible.

Actualmente, mi complemento de implementación tiene el aspecto siguiente, pero esto solo se implementa en el artefacto de lanzamiento independientemente de la versión;

<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.5</version> <executions> <execution> <id>deploy-zip-created-by-ant-to-artifactory</id> <phase>deploy</phase> <goals> <goal>deploy-file</goal> </goals> <configuration> <repositoryId>${project.distributionManagement.repository.id}</repositoryId> <url>${project.distributionManagement.repository.url}</url> <file>${project.basedir}/Build/deploy/MyArtifact.zip</file> <pomFile>${project.basedir}/MyArtifact-pom.xml</pomFile> </configuration> </execution> </executions> </plugin>

Muchas gracias


Esta es probablemente la manera Maven:

<distributionManagement> <repository> <id>release</id> <url>http://my-releases</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://my-snapshots</url> </snapshotRepository> </distributionManagement>

Al realizar un despliegue de una versión de instantánea, irá al repositorio de instantáneas. Para un lanzamiento que no sea de instantáneas, se utilizará el repositorio regular.

Simplemente ejecute el despliegue y funcionará. :-)


Por here , usé el complemento GMaven para elegir el repositorio de la sección de administración de distributionManagement del POM y almacenarlo en una propiedad.

El complemento de implementación puede usar esa propiedad.


Si definió sus repositorios dentro de su configuración.xml puede usar el

mvn deploy:deploy-file -DrepositoryId=releases -DartifactId=... -Durl=