2013-09-27 45 views
17

Tôi có một thư viện gồm 4 lọ:Làm cách nào để thêm các jars của bên thứ ba vào kho lưu trữ Maven cục bộ?

matlabcontrol-4.1.0.jar 
matlabcontrol-4.1.0-javadoc.jar 
matlabcontrol-4.1.0-sources.jar 
matlabcontrol-demo-4.1.0.jar 

Làm thế nào để thêm chúng vào kho lưu trữ địa phương để Maven biết nơi nguồn đang có và nơi javadoc là?

Tài liệu ở đây http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html rất ngắn gọn và không trả lời câu hỏi này.

+2

Tài liệu rõ ràng đề cập đến làm thế nào để thêm nó, mà một phần của nó, bạn không hiểu? –

Trả lời

5

Các bộ phân loại cũng có thể được chỉ định tại dòng lệnh. Xem http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html#classifier.

Javadoc và các nguồn chỉ là tạo tác với trình phân loại của cùng một pom.

Ví dụ:

Cài đặt vật chính

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar 
    -DgroupId=matlab -DartifactId=matlab -Dversion=4.1.0 

Cài đặt javadoc sử dụng javadoc phân loại:

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar 
    -DgroupId=matlab -DartifactId=matlab -Dversion=4.1.0 -Dclassifier=javadoc 
+0

Hôm nay tôi nhận ra rằng ai đó đã bỏ phiếu cho câu trả lời của tôi, nhưng anh ấy/cô ấy không để lại nhận xét. Sẽ tốt hơn nếu một bình luận có thể được thêm vào, bởi vì nếu có điều gì sai, tôi muốn sửa nó và cũng học được điều gì đó cho bản thân mình nữa. –

+0

mục đích của nhóm và artifactid là gì? – Timeless

+0

@Timeless mục đích, ở đây https://maven.apache.org/guides/mini/guide-naming-conventions.html là có phân loại tốt hơn về dự án của bạn trong kho lưu trữ, trong số các dự án khác. Kiểm tra điều này quá. http://stackoverflow.com/questions/3150003/naming-convention-for-maven-artifacts và http://stackoverflow.com/a/12020832/1917237 – n3k0

23

Các tài liệu nêu rõ đường đi. Hãy suy nghĩ matlabcontrol-4.1.0.jar của bạn trong C:> vị trí. Vì vậy, di chuyển cmd của bạn trên C:> vị trí và chạy lệnh sau.

mvn install:install-file -Dfile=matlabcontrol-4.1.0.jar -DgroupId=org.matlabcontrol \ 
    -DartifactId=matlabcontrol -Dversion=4.1.0 -Dpackaging=jar 

Nếu bạn làm điều đó, bạn có thể truy cập vào file jar của bạn với sự phụ thuộc, như:

<dependency> 
     <groupId>org.matlabcontrol</groupId> 
     <artifactId>matlabcontrol</artifactId> 
     <version>4.1.0</version> 
</dependency> 
+1

mục đích của nhóm và artifactid là gì? – Timeless

+0

@Masud Tôi cài đặt các jar bằng cách sử dụng thủ tục tương tự và tôi có thể nhìn thấy các jar mới nhất trong kho maven địa phương của tôi nhưng jar mới không phản ánh trong dự án maven ... u có thể đề nghị một cái gì đó cho tôi – dom

+0

@Timeless Các groupId và artefactId là những gì maven sử dụng để tìm thư viện nào bạn muốn (Sắp xếp nó như tên của một lớp và gói của nó, nhưng đối với jar). Nói một cách tổng thể, groupdId xác định dự án mà artefact là một phần của. Khi nhập một lọ tùy chỉnh, bạn tạo một cái. Bạn có thể sử dụng trang web của tổ chức, ví dụ: com.mathwork.matlab hoặc bạn có thể sử dụng tên gói Java bên trong bình, như org.matlab.control. Bất cứ điều gì bạn chọn không quan trọng nhiều, miễn là duy nhất của nó. –

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