2011-12-07 23 views
18

Estoy utilizando el código abierto de Nexus como administrador de repositorio para Maven 3.0.3cómo implementar mi artefacto en mi nexo?

Maven puede crear artefactos * .jar.

Ahora, me gustaría saber cómo puedo enviar el artefacto generado * .jar al administrador de repo del nexo, para que otros módulos dependientes puedan extraerlo.

Me he referido a este guide.

En settings.xml, tengo

<server>  
      <id>nexus-site</id> 
      <username>admin</username> 
      <password>xxxx</password> 
    </server> 

Se produce un error.

¿Cómo puedo invocar mi implementación desde el comando mvn o cómo implementar mi artefacto en mi nexo?

+1

¿Qué quiere decir 'Se fails'? ¿Qué comando intentaste y qué error obtuviste? – Raghuram

+0

El enlace a la guía dice que ponga el nombre de usuario/contraseña del repositorio en ~/.m2/repository/settings.xml. Descubrí que tenía que tener settings.xml en ~/.m2 para que funcione. –

Respuesta

19

sólo trato

mvn deploy 

que desplegará su artefacto con el gerente nexo de recompra.

¿Ha configurado la sección distributionManagement?

+0

Sí., Similar a http://www.vineetmanohar.com/2010/06/getting-started-with-nexus-maven-repo-manager/ – BalaB

+0

También sería útil si proporciona la salida del mensaje de error completo ... – khmarbaise

4

Hay dos formas de hacerlo.

La primera es hacerlo a través de la interfaz web de Nexus, sólo subir el artefacto con la información necesaria sobre el proyecto (groupId, artifactId, versión)

La otra es usando mvn deploy. Debe configurar distributionManagement para que el repositorio se cargue y el usuario se autentique como.

Se recomienda encarecidamente el segundo enfoque si va a realizar la implementación regularmente. Es automático, y puede aprovechar otros comandos de Maven como mvn release

+0

Recibí un error ERROR] No se pudo ejecutar el objetivo org.apache.maven.plugins: maven-deploy-plugin: 2.5: deploy (default-cli) en el proyecto mdaq: Implementación fallida: el elemento del repositorio no se especificó en el POM dentro del elemento distributionManagement o en -DaltDeploymentRepository = id :: layout :: url parameter -> [Help 1] – BalaB

2

El elemento de repositorio también debe estar especificado. Fragmento: pom.xml

<distributionManagement> 
    <repository> 
     <id>internal.repo</id> 
     <name>MyCo Internal Repository</name> 
     <url>http://Nexus url</url> 
    </repository> 
    </distributionManagement> 
6

Y si desea agregarlo al repositorio de instantánea, es necesario que la siguiente configuración dentro de su pom.xml

<distributionManagement> 
    <repository> 
     <id>internal.repo</id> 
     <name>MyCo Internal Repository</name> 
     <url>http://Nexus url</url> 
    </repository> 
    <snapshotRepository> 
     <id>Snapshot.repo</id> 
     <name>Your Snapshot Repository</name> 
     <url>http://Nexus url</url> 
    </snapshotRepository> 
</distributionManagement> 
Cuestiones relacionadas