2012-01-19 33 views
7

Quiero subir mi plugin maven personalizado al repositorio de nexus.Cómo cargar el plugin maven al repositorio Nexus?

Mi problema es que cuando subo mi plugin para nexo vía web UI como la dependencia ordinaria, experto no puede encontrarlo: com.huawei

Plugin: proyecto-maven-versión-plugin: 1.0 o una de sus dependencias no se pudo resolver: No se pudo leer el descriptor de artefacto para com.huawei: maven-project-version-plugin: jar: 1.0: No se encontró com.mycompany: maven-project-version-plugin: pom : 1.0 en http://localhost:8081/nexus/content/groups/public se guardó en caché en el repositorio local , la resolución no se volverá a intentar hasta la actualización intervalo de nexus ha transcurrido o las actualizaciones son forzadas -> [Ayuda 1]

Pero cuando instalo mi complemento para maven local repositiry (no nexus) a través de la línea de comandos, todo está bien.

Entonces, ¿cuál es la diferencia entre instalar el plugin maven personalizado e instalar artefactos "no complementos"? ¿Hay algún truco?

Mi settings.xml:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 

    <mirrors> 
    <mirror> 
     <!--This sends everything else to /public --> 
     <id>nexus</id> 
     <mirrorOf>*</mirrorOf> 
     <url>http://localhost:8081/nexus/content/groups/public</url> 
    </mirror> 
    </mirrors> 

    <profiles> 
    <profile> 
     <id>nexus</id> 
     <!--Enable snapshots for the built in central repo to direct --> 
     <!--all requests to nexus via the mirror --> 
     <repositories> 
     <repository> 
      <id>central</id> 
      <url>http://central</url> 
      <releases><enabled>true</enabled></releases> 
      <snapshots><enabled>true</enabled></snapshots> 
     </repository> 
     </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>central</id> 
      <url>http://central</url> 
      <releases><enabled>true</enabled></releases> 
      <snapshots><enabled>true</enabled></snapshots> 
     </pluginRepository> 
     </pluginRepositories> 
    </profile> 
    </profiles> 

    <activeProfiles> 
    <!--make the profile active all the time --> 
    <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
</settings> 
+0

Necesitaría saber más sobre su configuración de maven. ¿Estás utilizando repositorios de complementos en settings.xml o pom.xml? – Michael

+0

@Michael Me han agregado mi settings.xml, como dices. Pero creo que el problema no está en eso. Puedo descargar todas las demás dependencias de nexus: mis dependencias de los repositorios alojados y todas las demás dependencias de los repositorios proxy. Puedo descargar mi complemento si los marque como . Pero cuando intento configurarlos como , maven no puede encontrarlo. – Sergey

Respuesta

8

El problema se resolvió. Bueno, no sé cómo, pero hoy todo es trabajo. Creo que el problema estaba en el caché de Nexus. Acabo de eliminar mi repositorio alojado y lo creé de nuevo. Tal vez, hay métodos menos radicales, pero no los sé =) Eliminar artefacto y luego simplemente "expirar el caché" no ayuda en mi caso.

Bueno, la respuesta a mi pregunta: no hay ninguna diferencia entre el plugin de instalación y el artefacto no plugin en Nexus, excepto uno. Si selecciona la definición de GAV: parámetros de GAV, debe seleccionar "maven-plugin" en el cuadro combinado "Packaging".

Creo que no hay necesidad de escribir instrucciones paso a paso, es muy simple. Simplemente seleccione su repositorio alojado -> pestaña Cargar artefactos y complete los campos obligatorios.

4

También para agregar que también debe cargar el pom de su plugin Maven. Si no lo haces, Nexus generará uno que no sea correcto. es decir, será un pom básico que consta de versión, artifactID, packaging e groupID.

Cuestiones relacionadas