2012-06-25 10 views
6

Cuando intento utilizar versions:use-releases mi depósito de publicación está marcado como "deshabilitado", lo que significa que las dependencias de instantáneas no se resuelven a las versiones. No entiendo por qué el repositorio se considera deshabilitado.Versiones de Maven Comprobación de omisión del complemento Comprobar

Aquí es el resultado de la depuración abreviada de la construcción:

[DEBUG] (f) remoteArtifactRepositories = [  id: snapshots 
     url: http://maven.live.hostname.net/content/repositories/snapshots/ 
    layout: default 
snapshots: [enabled => true, update => daily] 
releases: [enabled => true, update => daily] 
,  id: company-nexus 
     url: http://maven.live.hostname.net/content/groups/public/ 
    layout: default 
snapshots: [enabled => false, update => daily] 
releases: [enabled => true, update => daily] 
] 
[...] 
[DEBUG] Looking for a release of promotion-test-central:promotion-test-central:jar:1.6.0-SNAPSHOT 
[INFO] artifact promotion-test-central:promotion-test-central: checking for updates from snapshots 
[DEBUG] Reading resolution-state from: /home/tester/.m2/repository/promotion-test-central/promotion-test-central/resolver-status.properties 
[DEBUG] Writing resolution-state to: /home/tester/.m2/repository/promotion-test-central/promotion-test-central/resolver-status.properties 
[DEBUG] Skipping update check for artifact promotion-test-central:promotion-test-central (/home/tester/.m2/repository/promotion-test-central/promotion-test-central/maven-metadata-company-nexus.xml) from disabled repository company-nexus (http://hostname/content/groups/public/) 

que ejecutar una instalación que refleja las solicitudes a central en nuestro ejemplo, Nexus, y también especifica un repositorio de instantánea global también:

<mirrors> 
     <mirror> 
      <id>mendeley-nexus</id> 
      <mirrorOf>central</mirrorOf> 
      <url>http://maven.live.chonp.net/content/groups/public/</url> 
     </mirror> 
    </mirrors> 
    <profiles> 
     <profile> 
      <id>default</id> 
      <repositories> 
       <repository> 
        <id>snapshots</id> 
        <url>http://maven.live.chonp.net/content/repositories/snapshots/</url> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
       </repository> 
      </repositories> 
     </profile> 
    </profiles> 
    <activeProfiles> 
     <activeProfile>default</activeProfile> 
    </activeProfiles> 

Existe una versión de lanzamiento e instantánea de la dependencia en cuestión, y el repositorio funciona exactamente como se esperaba en todos los demás aspectos.

+0

@ZnArK - ¿Cómo se hace el resaltado de sintaxis XML? –

+0

para xml, necesita agregar el comentario ' SO utiliza embellecer, aquí está el README http://google-code-prettify.googlecode.com/svn/trunk/README. html Esto también es un gran recurso http://meta.stackexchange.com/a/75019/187632 – ZnArK

+0

1 ya que tenía exactamente el mismo problema y esta respuesta funcionó perfectamente –

Respuesta

3

Su archivo settings.xml debe configurarse as documented in the Nexus book. Su configuración no funcionará, ya que solo anula parcialmente el súper pom de Maven.

+1

Lo siento, pero esto no tiene mucho sentido. Por supuesto, si habilito en el perfil de nexus un único repositorio tanto para las instantáneas como para las versiones, funcionaría. Pero ¿por qué debería hacer eso? ¿De qué sirve buscar lanzamientos solo en el repositorio de instantáneas? – Uberto

+1

El punto es que está reflejando CADA COSA (lanzamientos e instantáneas) en el grupo público y necesita permitir que se realicen. A menos, por supuesto, que nunca desee utilizar instantáneas .. –

+1

Bueno, idealmente me gustaría mantener mis instantáneas fuera del repositorio público, de lo contrario, ¿por qué molestarse en tener 2 repositorios? De todos modos aquí el problema es todo lo contrario, buscando lanzamientos en el repositorio de instantáneas. Lo que entiendo es que los chicos de Maven se referían al repositorio de instantáneas para mantener todo * más * las instantáneas, no solo las instantáneas. Lo cual también está bien para mí si solo estuviera un poco más explícitamente documentado. – Uberto

1

También encontré esto. Yo era capaz de conseguir más allá de él haciendo:

<repository> 
     <id>my-snapshots</id> 
     <url>https://nexus.corp.company.com/nexus/content/repositories/snapshots</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <releases> 
      <enabled>true</enabled> 
     </releases> 
    </repository> 

que era una salida de haber previamente:

 <releases> 
      <enabled>false</enabled> 
     </releases> 

Esto parece ocurrir cuando Maven mira hacia arriba los metadatos para su actual artefacto, y limita su búsqueda a solo repositorios que también puedan contener ese artefacto.

Cuestiones relacionadas