2010-11-13 15 views
87

Znalazłem net.sf.json-lib in the central repository. Copy-wklejane zależność (z wersji 2.3), a następnie kiedy budować otrzymuję ten błąd:Maven: brakujący 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. 

Próbowałem przy użyciu wersji 2.2.3, ale ja dostaję ten sam błąd. Dlaczego otrzymuję ten błąd? Mogę go zastąpić, instalując go lokalnie, ale chcę zrozumieć, na czym polega problem.

Edytuj - Usunąłem pakiet z mojego lokalnego repozytorium i spróbowałem ponownie, tym razem otrzymując błąd sumy kontrolnej. Chyba powinienem zgłosić raport o błędzie z 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

Wygląda pliku w maven Środkowej ma nieprawidłową sumę kontrolną. ... musisz zdecydować, czy i tak ufasz, czy nie. – khmarbaise

Odpowiedz

224

Patrząc na maven-central repo:

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

trzeba określić klasyfikator tego depependency: albo jdk13 lub jdk15, tak:

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

+1 Kocham tę stronę! :) – Kaitsu

+0

Mam ten sam problem. W 'BuildConfig.groovy', robię:' dependencies { grupa runtime: 'net.sf.json-lib', nazwa: 'json-lib', wersja: '2.4', klasyfikator: 'jdk15' } ' ale na próżno. Otrzymuję 'Failed to resolve dependency'. Każdy pomysł, dlaczego? –

+2

Dobrze. To nie pomaga, że ​​http://search.maven.org/#artifactdetails%7Cnet.sf.json-lib%7Cjson-lib%7C2.4%7Cjar kłamie nam i pomija klasyfikatora. – djsadinoff

2

Blokowanie komentarz khimarbaise chodzi o wiarygodność, można go instalować lokalnie przy użyciu Maven zainstalować:

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

Mam już plik jar (przekonwertuję projekt na maven), więc zainstalowałem to, co miałem. Dzięki. – ripper234

20

Dla Gradle jako próbki

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

LUB

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

Szukałam dla innych klasyfikatorów nie można znaleźć niczego poza jdk15 (nie idź szukać lub jdk16 lub jdk17)

+0

To nie działało dla mnie. Musiałem zainstalować plik lokalnie podobny do @icyrock.com sugestii, a następnie umieść 'mavenLocal()' przed 'mavenCentral()' w sekcjach 'repozytoriów'. – ben3000

+0

Tylko dla dokumentacji: istnieje co najmniej jeden [błąd w Gradle] (https://issues.gradle.org/browse/GRADLE-3188) związany z przejściowymi zależnościami, także o ile mogę to stwierdzić, json-lib doesn ' • podać dane klasyfikatora w POM (patrz [this] (http://stackoverflow.com/questions/3092085/building-same-project-in-maven- with-different-artifactid-based-on-jdk-used) i [to] (http://search.maven.org/#artifactdetails|net.sf.json-lib|json-lib|2.2.3|jar)). Nie mogłem również znaleźć sposobu na sprawdzenie, czy Gradle sprawdza błędy sum kontrolnych, jak wspomniano powyżej. – ben3000

1

Dla użytkowników bluszczu, po wypróbowaniu wielu różnych iteracji skonfigurować moje ivy.xml właściwie znaleźć tę zależność, to w końcu pracował dla mnie:

<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

myślę przewodowych URL nie jest optymalnym rozwiązaniem, to działa w Ivy też: \t \t \t \t – stumbav

+0

@stumbav, to nie działa dla mnie. Daje błąd: analizowany: [[Fatal Error] ivy.xml: 19: 137: Prefiks "maven" dla atrybutu "maven: classifier" powiązany z typem elementu "artefakt" nie jest powiązany –