2010-11-13 32 views
87

Tôi tìm thấy net.sf.json-lib in the central repository. Sao chép đã dán phụ thuộc (với phiên bản 2.3), và sau đó khi tôi xây dựng tôi nhận được lỗi này:Maven: thiếu 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. 

Tôi đã thử sử dụng phiên bản 2.2.3, nhưng tôi cũng gặp lỗi tương tự. Tại sao tôi nhận được lỗi này? Tôi có thể ghi đè lên bằng cách cài đặt nó cục bộ, nhưng tôi muốn hiểu vấn đề là gì.

Chỉnh sửa - Tôi đã xóa gói khỏi kho lưu trữ cục bộ của mình và thử lại, lần này gặp lỗi kiểm tra. Tôi đoán tôi nên gửi một báo cáo lỗi với 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

Dường như các tập tin trong maven trung tâm có một checksum không chính xác. ..bạn phải quyết định xem bạn có tin hay không. – khmarbaise

Trả lời

224

Nhìn vào repo maven-Trung ương:

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

bạn cần phải xác định một phân loại cho depependency này: hoặc jdk13 hoặc jdk15, như thế này:

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

+1 Tôi thích trang web này! :) – Kaitsu

+0

Tôi gặp vấn đề tương tự. Trong 'BuildConfig.groovy', tôi làm:' dependencies { nhóm thời gian chạy: 'net.sf.json-lib', tên: 'json-lib', phiên bản: '2.4', phân loại: 'jdk15' } ' nhưng không có kết quả. Tôi nhận được 'Không thể giải quyết sự phụ thuộc.'. Bất kỳ ý tưởng nào tại sao? –

+2

Phải. Nó không giúp http://search.maven.org/#artifactdetails%7Cnet.sf.json-lib%7Cjson-lib%7C2.4%7Cjar nói dối với chúng tôi và bỏ qua trình phân loại. – djsadinoff

2

Trừ bình luận khimarbaise về sự tin cậy, bạn có thể cài đặt nó tại địa phương sử dụng maven cài đặt:

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

Tôi đã có tập tin jar (tôi đang hội tụ dự án để maven), vì vậy tôi đã cài đặt những gì tôi có. Cảm ơn. – ripper234

20

Đối gradle như mẫu

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

HOẶC

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

Tôi tìm kiếm để có thêm phân loại không thể tìm thấy bất cứ điều gì khác hơn là jdk15 (không đi tìm kiếm hoặc jdk16 hoặc jdk17)

+0

Điều này không hiệu quả đối với tôi. Tôi phải cài đặt tệp cục bộ tương tự như @icyrock.Đề nghị của com, sau đó đặt 'mavenLocal()' trước 'mavenCentral()' trong phần 'kho lưu trữ'. – ben3000

+0

Chỉ cần cho tài liệu: có ít nhất một [lỗi trong Gradle] (https://issues.gradle.org/browse/GRADLE-3188) liên quan đến phụ thuộc transitive, cũng như xa như tôi có thể nói, json-lib doesn ' t cung cấp bất kỳ dữ liệu phân loại nào trong POM của nó (xem [this] (http://stackoverflow.com/questions/3092085/building-same-project-in-maven-with-different-artifactid-based-on-jdk-used) và [this] (http://search.maven.org/#artifactdetails |net.sf.json-lib|json-lib|2.2.3|jar)). Tôi cũng không thể tìm ra cách để xác định liệu Gradle có kiểm tra lỗi checksum như đã đề cập ở trên hay không. – ben3000

1

Đối với người dùng ivy, sau khi thử nhiều lần lặp khác nhau để cấu hình ivy.xml của tôi để tìm đúng sự phụ thuộc này, điều này cuối cùng làm việc cho tôi:

<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

Tôi nghĩ URL Hardwired không phải là một giải pháp tối ưu, công trình này trong Ivy quá: \t \t \t \t – stumbav

+0

@stumbav, điều này không hiệu quả đối với tôi. Nó cho lỗi: được phân tích cú pháp: [[Lỗi nghiêm trọng] ivy.xml: 19: 137: Tiền tố "maven" cho thuộc tính "maven: classifier" được liên kết với kiểu phần tử "artifact" không bị ràng buộc –

Các vấn đề liên quan