2012-05-03 32 views
6

Tôi đang xây dựng dựa trên các sản phẩm Lucene và Solr Maven khác nhau từ kho lưu trữ Maven của Apache được lưu trữ trong trình quản lý kho lưu trữ Nexus. Các hiện vật là phiên bản 4.0-SNAPSHOT và được cập nhật hàng ngày, với các tạo tác cũ hơn bị xóa thường xuyên.Làm thế nào để bạn chốt phiên bản các tạo tác Maven trong trình quản lý kho lưu trữ Nexus?

Tôi đã tự hỏi làm thế nào để gắn các hiện vật cho một ngày cụ thể, vì vậy bất cứ khi nào một khách hàng Maven sẽ yêu cầu solr-core 4.0-SNAPSHOT, nó sẽ nhận được cùng một phiên bản ngay cả khi có một luồng mới hơn.

Tôi cũng muốn biết cách cập nhật rõ ràng lên 4.0-SNAPSHOT mới nhất, nhưng vẫn giữ tất cả các phiên bản trước đã được tải xuống.

Cụ thể, kho lưu trữ "Ảnh chụp nhanh Apache" là kho lưu trữ mặc định được cài đặt khi bạn cài đặt Nexus.

Trả lời

3

Khi ảnh chụp nhanh được triển khai đến máy chủ lưu trữ, mỗi triển khai mới thực sự được triển khai dưới dạng phiên bản được đóng dấu thời gian với số thứ tự được nối thêm. Nếu bạn muốn sử dụng một phiên bản cụ thể, bạn chỉ cần sử dụng phiên bản dấu thời gian của ảnh chụp nhanh hơn là -SNAPSHOT.

Ví dụ: nhìn vào https://repository.apache.org/content/groups/snapshots/org/apache/maven/artifact/maven-artifact/3.0-alpha-2-SNAPSHOT/

Bạn có thể sử dụng hiện tượng này như

<groupId>org.apache.maven.artifact</groupId> 
<artifactId>maven-artifact</artifactId> 
<version>3.0-alpha-2-SNAPSHOT</version> 

mà sẽ thay đổi mỗi lần một snapshot mới được triển khai hoặc bạn có thể sử dụng

<groupId>org.apache.maven.artifact</groupId> 
<artifactId>maven-artifact</artifactId> 
<version>3.0-alpha-2-20090214.020928-1</version> 

mà sẽ giữ nguyên. Tuy nhiên, hãy nhớ rằng một kho lưu trữ ảnh chụp là KHÔNG tĩnh bởi bản chất và các tạo phẩm này có thể biến mất hoàn toàn. Chỉ làm điều đó nếu bạn đang sử dụng một máy chủ lưu trữ nội bộ mà bạn có thể kiểm soát và do đó đảm bảo rằng những bức ảnh chụp không biến mất trên bạn.

Một cách khác để thực hiện là cắt giảm bản phát hành và sử dụng ..

3

Bạn có thể sử dụng versions maven plugin để ghim vào phiên bản SNAPSHOT cụ thể chỉ có giá trị miễn là SNAPSHOT có sẵn trong kho lưu trữ thích hợp. Nhưng tôi khuyên bạn nên sử dụng một người quản lý kho lưu trữ và nhận được SNAPSHOT vào một kho lưu trữ cục bộ và làm việc với chúng thay vào đó. Những gì cũng có thể là để có được một SNAPSHOT cụ thể và làm cho một bản phát hành nội bộ ra khỏi nó cho exmaple 4.0.1-INTERNAL thích và làm cho dài hơn có sẵn dựa trên đó.

+0

+1 Không nhận thức được tính năng này. Rất hữu dụng! –

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