2010-11-13 68 views
87

我發現net.sf.json-lib in the central repository。複製粘貼的依賴(2.3版本),然後當我建立我得到這個錯誤:Maven:缺少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. 

我嘗試使用2.2.3版本,但我得到了同樣的錯誤。爲什麼我得到這個錯誤?我可以通過在本地安裝它來覆蓋它,但我想了解問題所在。

編輯 - 我從我的本地存儲庫中刪除了包,並再次嘗試,這次得到校驗和錯誤。我想我應該用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

它看起來像在Maven的中央文件中有一個不正確的校驗和。 ..你必須決定你是否信任它或不信任它。 – khmarbaise 2010-11-13 15:45:43

回答

224

在Maven的中央回購展望http://repo1.maven.org/maven2/net/sf/json-lib/json-lib/2.4/

你需要指定此depependency分類:要麼jdk13或jdk15,像這樣:

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

+1我喜歡這個網站! :) – Kaitsu 2012-03-29 11:29:50

+0

我有同樣的問題。在'BuildConfig.groovy'中,我這樣做:'依賴項{'net.sf.json-lib',名稱:'json-lib',版本:'2.4', classifier:'jdk15' }'' 但無濟於事。我得到'無法解決依賴關係。 任何想法爲什麼? – 2012-05-30 16:48:47

+2

對。這並沒有幫助http://search.maven.org/#artifactdetails%7Cnet.sf.json-lib%7Cjson-lib%7C2.4%7Cjar謊言給我們,並省略分類。 – djsadinoff 2012-11-27 16:31:11

2

除非約守信khimarbaise的評論,你可以使用maven本地安裝安裝:

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

我已經有了jar文件(我將這個項目轉化爲maven),所以我安裝了我的東西。謝謝。 – ripper234 2010-11-13 17:05:03

20

對於gradle這個作爲樣本

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

OR

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

我搜索對於更多的分類器的除了jdk15以外找不到任何東西(不要去看或jdk16或jdk17)

+0

這對我沒有用。我不得不在本地安裝類似於@icyrock的文件。com的建議,然後把'mavenLocal()'放在''repositories''部分的'mavenCentral()'之前。 – ben3000 2015-12-15 06:14:52

+0

只是爲了文檔:至少有一個[Gradle中的錯誤](https://issues.gradle.org/browse/GRADLE-3188)與傳遞依賴關聯,也據我所知,json-lib doesn' t在其POM中提供任何分類器數據(請參閱[this](http://stackoverflow.com/questions/3092085/building-same-project-in-maven-with-different-artifactid-based-on-jdk-used)和[this](http://search.maven.org/#artifactdetails|net.sf.json-lib|json-lib|2.2.3|jar))。我也找不到一種方法來確定Gradle是否檢查上面提到的校驗和錯誤。 – ben3000 2015-12-15 06:43:37

1

常春藤用戶,嘗試許多不同的迭代來配置我的ivy.xml正確找到這種依賴性之後,這次終於爲我工作:

<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

我認爲硬連線URL不是最佳解決方案,這個作品在常春藤太: \t <依賴性組織= 「net.sf.json-LIB」 名稱= 「JSON-LIB」 REV = 「2.3」> \t \t <工件名稱= 「JSON-LIB」 行家:分類= 「jdk15」 類型= 「罐子」 EXT = 「罐子」/> \t – stumbav 2015-04-26 07:00:44

+0

@stumbav,這並不爲我工作。它給出錯誤:parsed:[[致命錯誤] ivy.xml:19:137:與元素類型「artifact」關聯的屬性「maven:classifier」的前綴「maven」未綁定 – 2016-09-11 16:56:54