2008-12-12 35 views
13

Có thể lưu trữ kho lưu trữ Maven phục vụ các tạo tác (ít nhất là tệp jar) từ hệ thống phát hành tệp SourceForge (vì chúng đã có và SF cung cấp số liệu thống kê tải xuống) ?Thiết lập kho lưu trữ Maven bằng cách sử dụng máy chủ tệp SourceForge

Tất cả các kho lưu trữ tôi đã thấy sử dụng cùng một bố cục thư mục, nhưng phải không? Tải URL sẽ phải trông giống như http://sf.net/something.cgi?file-id=1234567

Sẽ chỉ có một số nhỏ các tập tin trong dự án, do đó duy trì URL tải trong một số loại tập tin kho siêu dữ liệu XML bán bằng tay vẫn là một lựa chọn .

Lưu ý: Đây là loại câu hỏi ngược lại với How can I deploy artifacts from a Maven build to the SourceForge File Release System?

Làm rõ: Tôi muốn đặt các tập tin trong File System phát hành (dự án Tải về), không phải là không gian web dự án hoặc kho lật đổ .

Trả lời

3

Có thể. Nhưng có một chút phức tạp:

Nếu bạn nhìn vào một dự án như thế này http://jwebunit.sourceforge.net/m2-repo/ bạn sẽ thấy rằng họ đang trưng bày một repo maven hoàn toàn hợp pháp. Đây là các bước để thực hiện:

Về mặt lý thuyết, bạn chỉ có thể thêm phần liên quan của thư mục ~/.m2/repo vào thư mục gốc của svn trên dự án được đề cập (trong thư mục có tên m-2repo chẳng hạn như jwebunit đã thực hiện). Sourceforge cho thấy cấu trúc svn đầy đủ có thể truy cập thông qua web, do đó, có repo của bạn.

Nhưng; vấn đề là maven yêu cầu kho lưu trữ từ xa chứa MD5 checksums của tất cả các phần tử. Khi bạn chạy "cài đặt maven" đối với một repo tập tin lolcal bạn sẽ không nhận được các checksum tạo ra.

Cách tôi đã giải quyết vấn đề này cục bộ là thiết lập apache/webdav trên một thư mục cụ thể trên máy của tôi. Sau đó tôi sử dụng thư mục này làm mục tiêu cho "triển khai mvn". Sau đó, tôi chỉ cần giữ thư mục đầy đủ này được kiểm tra vào subversion trên sourceforge.

+0

Đó có thực sự là svn của dự án không? Hoặc không gian web của họ? Hosting repostories trong không gian web là chống lại điều khoản dịch vụ của họ Tôi tin (chạy vào vấn đề khi cố gắng để lưu trữ một repo mercurial đó). Dù bằng cách nào, tôi muốn đặt các tạo tác trên phần phát hành tệp của họ (tải xuống dự án). – Thilo

0

Giải pháp rất đẹp, nhờ krosenvold. Ngoài ra, bạn có thể thử tạo tổng kiểm tra với phần này của pom:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-install-plugin</artifactId> 
    <executions> 
     <execution> 
      <goals> 
       <goal>install</goal> 
      </goals> 
      <configuration> 
       <createChecksum>true</createChecksum> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 
0

Xin lỗi về điều này nhưng tôi không thấy cách liên kết hai câu hỏi với nhau. Tôi đã thêm một số thông tin vào một câu hỏi tương tự (trùng lặp?) Tại đây. Nó cho thấy làm thế nào bạn có thể maven triển khai để SF mà không cần bất kỳ thủ thuật pom hoặc bổ sung.

How can I deploy artifacts from a Maven build to the SourceForge File Release System?

+0

Có, trang này cũng được liên kết với chính câu hỏi đó (như "loại đối lập"). – Thilo

+0

Rất tiếc. Xin lỗi Thilo. Tôi có nên xóa bài đăng này không? – Gray

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