2012-12-19 26 views
14

Tôi đang cố gắng để nhập khẩu Robolectric vào dự án Maven tôi, với:Làm thế nào để bạn nhập khẩu một phụ thuộc Maven từ Sonatype.org?

 <dependency> 
      <groupId>com.pivotallabs</groupId> 
      <artifactId>robolectric</artifactId> 
      <version>1.2-SNAPSHOT</version> 
      <scope>test</scope> 
     </dependency> 

Các vật được liệt kê ở đây:

https://oss.sonatype.org/index.html#nexus-search;quick~robolectric

Tôi đã cố gắng bao gồm:

<repositories> 
    <repository> 
     <id>oss-sonatype</id> 
     <name>oss-sonatype</name> 
     <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
    </repository> 
</repositories> 

như được đề xuất từ ​​this post, nhưng nó không giải quyết được việc cướp.

Trả lời

10

Điều này sẽ hoạt động mặc dù bạn thực sự nên cài đặt trình quản lý kho lưu trữ như Sonatype Nexus và proxy kho lưu trữ ảnh chụp nhanh.

Trong trường hợp của bạn, sự cố có thể là do nó không tìm thấy trước đó và thực tế đó được lưu trong bộ nhớ cache cục bộ của bạn. Để buộc Maven kiểm tra agagin bằng cờ -U, ví dụ: chạy

mvn -U clean install 
+0

Điều đó đã làm điều đó, cảm ơn. Tại sao bạn đề nghị một proxy? –

+0

Bởi vì theo cách đó, bạn sẽ có được lợi ích về hiệu năng và sự ổn định khi nó ở trong mạng nội bộ của bạn một cách lý tưởng. Ngoài ra, bạn có thể triển khai các thư viện của bên thứ ba (như android.jar và các thư viện khác) vào trình quản lý repo và triển khai các thư viện của chính bạn cũng như chia sẻ chúng trong nhóm của bạn. Và ví dụ: QA có thể lấy gói ứng dụng từ nó để kiểm tra và sau đó để triển khai. –

+1

Tôi thiết lập Nexus cho nhóm của mình hơn một tháng trước. Một phao cứu sinh như vậy. Chúng tôi có một tấn các lọ bên thứ ba (độc quyền), và triển khai chúng cho Nexus đã giúp chúng tôi tiết kiệm rất nhiều đau đầu. Rất khuyên bạn nên. –

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