2012-07-27 41 views
11

tôi đang sử dụng phiên bản cũ hơn một chút (1.5) của com.sun.jersey-server/json/client và phiên bản này phải là phiên bản này, vì vậy, vui lòng không đề xuất sử dụng phiên bản mới hơn.Maven sử dụng kho lưu trữ sai để tải xuống

Trong pom.xml của tôi đang tham khảo nó qua

<dependency> 
     <groupId>com.sun.jersey</groupId> 
     <artifactId>jersey-server</artifactId> 
     <version>${jersey.version}</version> 
     <type>jar</type> 
     <scope>compile</scope> 
     <exclusions> 
      <exclusion> 
       <!-- version conflicts with explicit direct dependency --> 
       <groupId>org.codehaus.jettison</groupId> 
       <artifactId>jettison</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

$ {} jersey.version là 1,5

Nếu tôi wan't để biên dịch nó tôi nhận được các lỗi này:

[INFO] Scanning for projects... 
    [INFO]------------------------------------------------------------------------ 
    [INFO] Building MediaAssistantWebService 
    [INFO] task-segment: [clean, install] 
    [INFO]------------------------------------------------------------------------ 
    [...] 
    [INFO] Using 'UTF-8' encoding to copy filtered resources. 
    [INFO] Copying 1 resource 
    Downloading: http://repositories.dai-labor.de/extern/content/repositories/dai-open/com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom 
    [INFO] Unable to find resource 'com.sun.jersey:jersey-server:pom:1.5' in repository dai-open (http://repositories.dai-labor.de/extern/content/repositories/dai-open) 
    Downloading: http://download.java.net/maven/2//com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom 10K downloaded (jersey-server-1.5.pom) 
    Downloading: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom 185b downloaded (jersey-project-1.5.pom) 
    [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html><head><title>301' - RETRYING 
    Downloading: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom185b downloaded (jersey-project-1.5.pom) 
    [WARNING] *** CHECKSUM FAILED - Checksum failed on download: local '6c9fd3d150b8a5f0ca676f49b8ed603793cabebb'; remote = '<html><head><title>301' - IGNORING 
    [INFO] ------------------------------------------------------------------------ 
    [ERROR] BUILD ERROR 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Error building POM (may not be this project's POM). 

    Project ID: null:jersey-server:bundle:null 

    Reason: Cannot find parent: com.sun.jersey:jersey-project for project: null:jersey-server:bundle:null for project null:jersey-server:bundle:null 

Vì vậy, googled một thời gian và internet cho biết tôi sẽ thêm kho này vào pom của tôi để maven sẽ tìm ở đó đầu tiên.

<repository> 
    <id>maven2-repository.dev.java.net</id> 
    <name>Java.net Repository for Maven</name> 
    <url>http://download.java.net/maven/2/</url> 
    <layout>default</layout> 
</repository> 

Nhưng điều đó không làm gì cả. Tôi đã xóa thư mục jersy của mình trong thư mục .m2 và đã cố gắng biên dịch lại mvn một lần nữa và nó vẫn cố tải xuống nếu từ máy chủ glassfish-404 này.

Bất kỳ ai biết tôi phải thay đổi gì để tải xuống đúng cách?

Trả lời

13

Cố gắng thêm kho của trung tâm maven trước khi những người khác:

<repositories> 
    <repository> 
     <id>maven-central</id> 
     <url>http://repo1.maven.org/maven2</url> 
    </repository> 
    ... 
</repositories> 

Better tùy chọn sẽ được thiết lập của máy chủ mối quan hệ và cách loại bỏ các bộ phận kho trong các tập tin pom: http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-poms-is-a-bad-idea/

+0

Nó không làm việc cho tôi. Vẫn lỗi tương tự. –

4

Nếu bạn nhìn vào pom đó là tài liệu tham khảo của áo, nó bao gồm một số repo từ glassfish.org. http://download.java.net/maven/2//com/sun/jersey/jersey-server/1.5/jersey-server-1.5.pom

<repositories> 
    <repository> 
     <id>glassfish-repository</id> 
     <name>Repository for Glassfish</name> 
     <url>http://maven.glassfish.org/content/groups/glassfish</url> 
    </repository> 
</repositories> 

Khi sự phụ thuộc bắc cầu đang cố gắng để tải về, máy chủ sẽ gửi một phản ứng chuyển hướng, do đó bạn thấy lỗi checksum trong nhật ký mà bạn cung cấp.

thử này trong trình duyệt: http://maven.glassfish.org/content/groups/glassfish/com/sun/jersey/jersey-project/1.5/jersey-project-1.5.pom

Tôi biết đây không phải là giải pháp cho vấn đề của bạn (và quá cồng kềnh), nhưng bạn có thể thử mvn install sự phụ thuộc cần thiết cho jerser-server 1.5 tại địa phương do đó nó không cố gắng tải xuống?

0

Tôi đoán sẽ là tưởng tượng khi nghĩ rằng bao gồm tất cả các phụ thuộc trong quá trình tải xuống sẽ hợp lý. Tất nhiên nó tốt hơn để có maven tải chúng. Thật thú vị khi dành hàng giờ đồng hồ để theo dõi những món đồ ngu ngốc không thể tìm thấy được! Tôi biết tôi phải đối mặt với đa số người này, vì không ai khác dám đề nghị điều gì ngược lại.

3

Giải pháp duy nhất có hiệu quả đối với tôi là thêm gương trong cài đặt.xml cho kho glassfish:

<mirror> 
    <id>glassfish-mirror</id> 
    <name>glassfish mirror</name> 
    <url>http://maven.nuxeo.org/nexus/content/repositories/public-releases</url> 
    <mirrorOf>glassfish-repository</mirrorOf> 
</mirror> 

Như đã giải thích here

+0

Giải pháp này làm việc cho tôi. –

0

Chỉ cần nói thêm:

<repository> 
    <id>maven-central</id> 
    <url>http://repo1.maven.org/maven2</url> 
</repository> 

Để pom.xml của tôi làm việc tốt

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