2010-11-13 14 views
87

Encontré net.sf.json-lib in the central repository. Copiar-pegar la dependencia (con la versión 2.3), y luego cuando construyo me sale este error:Maven: falta net.sf.json-lib

[INFO] Unable to find resource 'net.sf.json-lib:json-lib:jar:2.2.3' in repository central (http://repo1.maven.org/maven2) 

[ERROR] BUILD ERROR 
[INFO] --------------------------------------------------------- 
[INFO] Failed to resolve artifact. 

Missing: 
---------- 
1) net.sf.json-lib:json-lib:jar:2.3 

    Try downloading the file manually from the project website. 

He intentado utilizar la versión 2.2.3, pero estoy consiguiendo el mismo error. ¿Por qué recibo este error? Puedo anularlo instalándolo localmente, pero quiero entender cuál es el problema.

Editar - Eliminé el paquete de mi repositorio local y lo intenté de nuevo, esta vez obteniendo un error de suma de comprobación. Supongo que debería presentar un informe de error con json-lib.

[WARNING] *** CHECKSUM FAILED - Error retrieving checksum file for net/sf/json-lib/json-lib/2.3/json 
-lib-2.3.pom - IGNORING 
+0

Parece que el archivo en el centro de experta tiene una suma de comprobación incorrecta. ..debes decidir si confías en él de todos modos o no. – khmarbaise

Respuesta

224

En cuanto a la experta en el centro-repo:

http://repo1.maven.org/maven2/net/sf/json-lib/json-lib/2.4/

es necesario que especifique un clasificador para este depependency: o bien jdk13 o jdk15, así:

<dependency> 
     <groupId>net.sf.json-lib</groupId> 
     <artifactId>json-lib</artifactId> 
     <version>2.4</version> 
     <classifier>jdk15</classifier> 
    </dependency> 
+21

+1 ¡Me encanta este sitio! :) – Kaitsu

+0

Estoy teniendo el mismo problema. En 'BuildConfig.groovy', hago:' dependencias { grupo de ejecución: 'net.sf.json-lib', nombre: 'json-lib', versión: '2.4', clasificador: 'jdk15' } ' pero fue en vano. Me sale 'Falló para resolver la dependencia. ¿Alguna idea de por qué? –

+2

Derecha. No ayuda que http://search.maven.org/#artifactdetails%7Cnet.sf.json-lib%7Cjson-lib%7C2.4%7Cjar nos mienta y omita el clasificador. – djsadinoff

2

A menos que el comentario de khimarbaise acerca de la fiabilidad, se puede instalar localmente utilizando Maven instalación:

mvn install:install-file -Dfile=path-to-your-artifact-jar 
          -DgroupId=your.groupId 
          -DartifactId=your-artifactId 
          -Dversion=version 
          -Dpackaging=jar 
          -DlocalRepositoryPath=path-to-specific-local-repo 
+2

Ya tenía el archivo jar (converso el proyecto a maven), así que instalé lo que tenía. Gracias. – ripper234

20

Para Gradle como muestra de

compile 'net.sf.json-lib:json-lib:2.4:jdk15'

O

compile group: 'net.sf.json-lib', name: 'json-lib', version: '2.4', classifier: 'jdk15'

Busqué para más clasificadores no se pudo encontrar nada más que jdk15 (no busques o jdk16 o jdk17)

+0

Esto no funcionó para mí. Tuve que instalar el archivo localmente similar a @icyrock.sugerencia de com, luego coloque 'mavenLocal()' antes de 'mavenCentral()' en las secciones 'repositories'. – ben3000

+0

Solo para documentación: hay al menos un [error en Gradle] (https://issues.gradle.org/browse/GRADLE-3188) asociado con dependencias transitivas, también, por lo que puedo decir, json-lib doesn ' Suministre cualquier dato clasificador en su POM (vea [esto] (http://stackoverflow.com/questions/3092085/building-same-project-in-maven-with-different-artifactid-based-on-jdk-used) y [esto] (http://search.maven.org/#artifactdetails|net.sf.json-lib|json-lib|2.2.3|jar)). Tampoco pude encontrar una forma de determinar si Gradle busca errores de suma de comprobación como se mencionó anteriormente. – ben3000

1

Para los usuarios de hiedra, después de probar muchas iteraciones diferentes para configurar mi ivy.xml para encontrar correctamente esta dependencia, esto finalmente trabajado para mí:

<dependency org="net.sf.json-lib" name="json-lib" rev="2.4"> 
     <artifact name="json-lib" url="http://repo1.maven.org/maven2/net/sf/json-lib/json-lib/2.4/json-lib-2.4-jdk15.jar"/>  
    </dependency> 
+0

creo que la URL cableada no es una solución óptima, esto funciona en Ivy también: \t \t \t \t – stumbav

+0

@stumbav, esto no funciona para mí. Da error: analizado: [[Fatal Error] ivy.xml: 19: 137: El prefijo "maven" para el atributo "maven: clasificador" asociado con un tipo de elemento "artefacto" no está vinculado –