2012-09-29 22 views
10

Recibo el siguiente error desde la mañana de hoy mientras hago maven build. No hay cambios específicos para ayer y hoy. ¿Alguien puede ayudarme a resolver esto? Intenté borrar todos los repositorios locales, cambiando la versión de jackson a la 1.9.10. Sorprendentemente, esto está funcionando para mis colegas que están trabajando en la misma construcción.Error de compilación de Maven No hay versiones disponibles para org.codehaus.jackson: jackson-core-asl: jar: [1.8,1.9) dentro del rango especificado

[ERROR] Failed to execute goal on project netvogue-database-api: Could not resolve  dependencies for project org.netvogue.server:netvogue-database-api:jar:1.0-SNAPSHOT: Failed to collect dependencies for [org.springframework.data:spring-data-neo4j-rest:jar:2.1.0.RC4 (compile), org.codehaus.jackson:jackson-jaxrs:jar:1.8.3 (compile), org.codehaus.jackson:jackson-mapper-asl:jar:1.8.3 (compile), org.neo4j:neo4j-kernel:jar:tests:1.8.RC1 (test), org.neo4j:neo4j-cypher:jar:1.8.RC1 (compile), com.amazonaws:aws-java-sdk:jar:1.3.10 (compile), org.imgscalr:imgscalr-lib:jar:4.2 (compile), org.springframework:spring-context:jar:3.1.2.RELEASE (compile), org.springframework.security:spring-security-config:jar:3.1.2.RELEASE (compile), org.springframework.security:spring-security-web:jar:3.1.2.RELEASE (compile), org.slf4j:slf4j-api:jar:1.5.10 (compile), org.slf4j:jcl-over-slf4j:jar:1.5.10 (runtime), org.slf4j:slf4j-log4j12:jar:1.5.10 (runtime), log4j:log4j:jar:1.2.16 (compile), junit:junit:jar:4.7 (test)]: No versions available for org.codehaus.jackson:jackson-core-asl:jar:[1.8,1.9) within specified range -> [Help 1] 

Respuesta

6

Según lo señalado por yegor256, quien tenga este problema recientemente, probablemente sea causado por Amazon AWS. Simplemente cambie su aws-java-sdk a una versión más nueva (actual es 1.3.20) y el problema desaparecerá.

+0

mismo que aquí, cambió la versión a 1.3.20 y la compilación volvió a la normalidad –

+0

Sí, cuando lo cambié a la última versión. problema se fue –

+0

¿cómo cambio la versión de AWS ... ?? – Oliver

1

Maven es incapaz de encontrar la dependencia de Jackson-core-nivel del mar, es necesario incluir la siguiente en su POM

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-asl</artifactId> 
    <version>1.9.0</version> 
</dependency> 

Si su ya incluido, entonces es posible que tenga que especificar el repositorio. Verifique maven repository

+0

Hola Anshu, gracias por la pronta respuesta. Solo descubrí el problema. El problema fue con un rango específico. se mencionó como 1.8-1.9 si lo cambio a 1.9. Funciona bien. Gracias una vez más. –

+0

Bueno, eso no explica mucho. ¿Por qué el rango de versión no funciona? Tener el mismo problema aparentemente causado por una de nuestras dependencias. Especificar una versión específica en nuestro pom no parece ayudar – ZiglioUK

+2

Esto no ayudará si esta dependencia es transitiva y es llevada a su proyecto desde otra dependencia. Intente descubrir qué dep está causando este problema y actualice su versión. Tal vez ayude. En mi caso, era una versión expirada de Amazon SDK (1.3.11) – yegor256

10

Parecería que el archivo jackson-core-aslmaven-metadata.xml de Jackson se ha dañado.

Cuando Maven intenta resolver las versiones de dependencia de un rango, debe mirar al archivo maven-metadata.xml para determinar los candidatos de la versión que puede elegir. Actualmente ese archivo se ve así:

<metadata modelVersion="1.1.0"> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-asl</artifactId> 
    <versioning> 
    <latest>1.1.0</latest> 
    <release>1.1.0</release> 
    <versions> 
     <version>1.1.0</version> 
    </versions> 
    <lastUpdated>20120928142709</lastUpdated> 
    </versioning> 
</metadata> 

Esto indica que la única versión legal de un intervalo de versiones podría elegir es 1.1.0. Como un ejemplo de lo que este archivo más probable parecía antes de comprobar el archivo jackson-core-lgplmaven-metadata.xml:

<metadata> 
<groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-core-lgpl</artifactId> 
    <version>0.9.8</version> 
    <versioning> 
    <versions> 
     <version>0.9.8</version> 
     <version>0.9.7</version> 
     <version>0.9.9</version> 
     <version>0.9.9-2</version> 
     <version>0.9.9-3</version> 
     <version>0.9.9-4</version> 
     <version>0.9.9-5</version> 
     <version>0.9.9-6</version> 
     <version>1.0.0</version> 
... 

Como se ha sugerido anteriormente, que puede codificar una dependencia de una versión específica de Jackson que cortocircuita la resolución de la versión y evita leer el archivo maven-metadata.xml.

+5

Abrí [JACKSON-871] (http://jira.codehaus.org/browse/JACKSON-871) para rastrear el problema. –

+0

FWIW, he encontrado demasiados problemas con los rangos de versiones de Maven, que hoy en día siempre especifico la versión exacta del parche. Esto es desafortunado, ya que en muchos casos el "último parche" funcionaría correctamente, pero el complemento de lanzamiento de Maven y otros componentes simplemente no han dejado que esto funcione para mí. – StaxMan

+0

El problema se debió a los rangos de versión en mi archivo amazon pom. Cuando cambié mi Amazon SDK a la última, está funcionando bien ahora. –

2

Debo señalar que la última versión de este archivo (maven-metadata.xml) debe estar equivocada. La última versión de org.codehaus.jackson/jackson-core-asl es 1.9.9.

Otras dependencias que requieren otras versiones de jackson-core-asl, más nuevas que 1.1.0, se romperán. Como lo hizo en mi escenario. Tuve que cambiar manualmente el archivo maven-metadata.xml ok jackson-core-asl para que funcione

Cuestiones relacionadas