2011-02-07 44 views
5

Tôi đã nhận được một số được biên dịch các lớp mà tôi cần thêm vào dự án.Thêm lớp java đã biên dịch vào dự án maven

Một giải pháp mà tôi có thể nghĩ là tạo một cái lọ với những tệp này và tải nó lên kho lưu trữ theo cách thủ công. Rõ ràng điều này sẽ làm việc. Nhưng tôi tự hỏi nếu có một giải pháp thanh lịch hơn. Tôi có thể đặt chúng bằng cách nào đó theo cấu trúc dự án? Vì vậy, các tệp sẽ được kiểm tra để kiểm soát nguồn và sẽ dễ dàng hơn để duy trì các phiên bản của chúng, v.v.

+1

Không có gì tao nhã về việc phân phối các lớp được biên dịch chưa được đóng gói ngay từ đầu, tôi e là vậy. –

+0

Như Boris đã ngụ ý, lưu trữ các tệp lớp nhị phân trong kho lưu trữ kiểm soát nguồn là một ý tưởng tồi. – crowne

+0

@Sean: Tôi đồng ý, nhưng đây là tình huống nhất định, khá mới đối với tôi tôi phải thừa nhận, nhưng hiện tại không có gì tôi có thể làm về nó. – Tarlog

Trả lời

8

Dưới đây là cách tiếp cận của tôi theo ý kiến ​​về Boris' câu trả lời (sau khi tìm thấy bản thân mình cần phải sử dụng ngày hôm qua giống nhau, nhưng không thể tìm thấy các liên kết đến các câu trả lời tôi đã được sử dụng):

Trong thư mục dự án của bạn, tạo một thư mục có tên là repo, chúng tôi sẽ sử dụng như một kho lưu trữ Maven dựa trên thư mục.

Thêm kho tập tin sau đây để dự án của bạn pom.xml:

<repositories> 
    <repository> 
     <id>file.repo</id> 
     <url>file://${project.basedir}/repo</url> 
    </repository> 
</repositories> 

Gói lớp học của bạn như một cái bình, và triển khai chúng vào kho tập tin, với lệnh sau đây:

mvn deploy:deploy-file 
-Durl=file:///absolute/path/to/your-project/repo \ 
-DrepositoryId=file.repo \ 
-Dfile=path-to-your.jar \ 
-DgroupId=some.external.project.group \ 
-DartifactId=the-artifact-name \ 
-Dversion=1.0 \ 
-Dpackaging=jar; 

Sau này bạn chỉ có thể thêm sự phụ thuộc bình thường vào bình trong dự án pom.xml, bằng cách sử dụng các giá trị cho groupId, artifactId và phiên bản bạn đã vượt qua ở trên. Sau đó bạn có thể thêm thư mục repo vào SVN và cam kết các thay đổi đối với pom.xml của bạn. Bất kỳ nhà phát triển nào đang kiểm tra dự án của bạn giờ đây sẽ có thể sử dụng cùng một sự phụ thuộc mà không cần bất kỳ nỗ lực nào.

2

Ý tưởng đầu tiên là tốt hơn sau đó kiểm tra các tệp nhị phân mà bạn không có quyền kiểm soát. Vì vậy, gói nhị phân trong một cái lọ, phiên bản nó và triển khai nó trên kho lưu trữ.

+5

Và nếu bạn đang làm việc cùng với những người khác mà bạn không chia sẻ một kho lưu trữ, và do đó muốn thêm sự phụ thuộc vào SCM của bạn: hãy xem xét việc tạo một kho lưu trữ tệp trong dự án gốc, triển khai phụ thuộc đóng gói của bạn kho lưu trữ, tham khảo kho lưu trữ tập tin trong dự án POM của bạn và thêm rằng kho lưu trữ để kiểm soát sửa đổi. – Tim

+0

@Tim nhận xét của bạn xứng đáng là câu trả lời bổ sung. –

+0

Vâng, tôi hoàn toàn không thể đồng ý với bạn. Trong kiểm soát nguồn, tôi có quyền kiểm soát nhiều hơn về những gì đang xảy ra. – Tarlog

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