Maven: thiếu net.sf.json-lib


101

Tôi đã tìm thấy net.sf.json-lib trong kho lưu trữ trung tâm . Sao chép-dán phần phụ thuộc (với phiên bản 2.3) và sau đó khi tôi tạo, tôi gặp lỗi này:

[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 vẫn gặp lỗi tương tự. Tại sao tôi nhận được lỗi này? Tôi có thể ghi đè nó bằng cách cài đặt 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 tổng kiểm tra. Tôi đoán tôi nên gửi 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

Có vẻ như tệp trong trung tâm maven có tổng kiểm tra không chính xác ... bạn phải quyết định xem bạn có tin tưởng nó hay không.
khmarbaise

Câu trả lời:


268

Nhìn vào repo trung tâm maven:

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

bạn cần chỉ định một bộ phân loại cho sự phụ thuộc này: jdk13 hoặc jdk15, như sau:

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

2
Tôi đang gặp vấn đề tương tự. Vào BuildConfig.groovy, tôi làm: dependencies { runtime group:'net.sf.json-lib', name:'json-lib', version:'2.4', classifier:'jdk15' }nhưng vô ích. Tôi hiểu Failed to resolve dependency.. Bất kỳ ý tưởng tại sao?
Alexandre Bourlier,

2
Đúng. Việc search.maven.org/… nói dối chúng tôi và bỏ qua trình phân loại cũng chẳng ích gì.
djsadinoff

FYI, cho những người sử dụng Chơi Khung 1.x, bạn có thể không sử dụng jar này từ maven trung tâm - play.lighthouseapp.com/projects/57987-play-framework/tickets/...
ripper234

Đẹp! Tự hỏi tại sao bộ phân loại không được đặt khi tôi ban đầu thêm phần phụ thuộc có jdk15.
heyomi

2
Tương đương với cây thường xuân là gì?
Ron Romero

25

Đối với gradle như mẫu

biên dịch 'net.sf.json-lib: json-lib: 2.4: jdk15'

HOẶC LÀ

nhóm biên dịch: 'net.sf.json-lib', tên: 'json-lib', phiên bản: '2.4', bộ phân loại: 'jdk15'

Tôi đã tìm kiếm thêm trình phân loại không thể tìm thấy bất kỳ thứ gì khác ngoài jdk15 (đừng đi tìm hoặc jdk16 hoặc jdk17)


Điều này không hiệu quả với tôi. Tôi phải cài đặt tệp cục bộ tương tự như đề xuất của @ icyrock.com, sau đó đặt mavenLocal()trước mavenCentral()trong các repositoriesphần.
ben3000

Chỉ dành cho tài liệu: có ít nhất một lỗi trong Gradle liên quan đến các phụ thuộc bắc cầu , theo như tôi có thể nói, json-lib không cung cấp bất kỳ dữ liệu phân loại nào trong POM của nó (xem phần nàyphần này ). Tôi cũng không thể tìm ra cách xác định xem Gradle có kiểm tra lỗi tổng kiểm tra như đã đề cập ở trên hay không.
ben3000

2

Bỏ qua nhận xét của khimarbaise về độ tin cậy, bạn có thể cài đặt nó cục bộ bằng cách sử dụng maven install:

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 jar (tôi đang chuẩn bị dự án cho maven), vì vậy tôi đã cài đặt những gì tôi có. Cảm ơn.
ripper234

1

Đối với người dùng ivy, sau khi thử nhiều lần lặp lại khác nhau để định 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 đã hoạt động với 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>

Tôi nghĩ rằng URL được hardwired không phải là giải pháp tối ưu, điều này cũng hoạt động ở Ivy: <dependency org = "net.sf.json-lib" name = "json-lib" rev = "2.3"> <tên tạo tác = "json- lib "maven: classifier =" jdk15 "type =" jar "ext =" jar "/> </dependency>
stumbav

@stumbav, điều này không hiệu quả với tôi. Nó cung cấp cho lỗi: phân tích cú pháp: [[Fatal Error] ivy.xml: 19: 137: Tiền tố "maven" cho thuộc tính "maven: phân loại" kết hợp với một loại nguyên tố "vật" không bị ràng buộc
Jitesh Sojitra
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.