Tôi chỉ mới bắt đầu sử dụng Maven, (đánh giá nó, thực sự) và tôi cần để có thể nhanh chóng tạo một tệp JAR cho ứng dụng của tôi và một thư mục với tất cả các phụ thuộc (ví dụ: lib) để tôi có thể triển khai hai người đó sẽ được điều hành một cách độc lập. Tạo tệp JAR với tệp kê khai thích hợp rất dễ, nhưng tôi không biết cách để Maven sao chép các phụ thuộc cho dự án hiện tại vào thư mục lib
mà tôi có thể triển khai.Maven có thể thu thập tất cả các JAR phụ thuộc cho một dự án để trợ giúp triển khai ứng dụng không?
Vì đây là một ứng dụng Java độc lập, tôi không phải quan tâm đến việc triển khai vào kho lưu trữ Maven, cũng khá tầm thường hoặc ít nhất là dễ dàng googleable.
Tôi đã tìm hiểu cách thực hiện mọi thứ ngoại trừ sao chép các tệp JAR phụ thuộc vào một số thư mục được chỉ định. Đây là công việc tôi đang tìm kiếm:
$ mvn clean
$ mvn package
$ cp -r target/{lib,myApp.jar} installLocation
Sau đó, chạy myApp.jar
từ installLocation
như một tập tin JAR nên "chỉ làm việc" bất kể $CLASSPATH
tôi.
Để thử và tiền empt một số câu trả lời:
- Tôi có một phương thức main-lớp: thiết lập, và nó hoạt động tốt.
- Tôi cũng đã đặt đường dẫn lớp trong MANIFEST.MF và cũng hoạt động tốt.
- Tôi đã tìm hiểu cách sử dụng
<classpathPrefix>
và<classpathMavenRepositoryLayout>
để thực hiện công việc này - nhưng chỉ trên máy của tôi. (qua:<classpathPrefix>${settings.localRepository}</classpathPrefix>
)
gia tăng này để pom.xml của tôi bên trong Eclipse. Không có gì xảy ra –
Tôi phải tải xuống maven bên ngoài nhật thực, thêm thư mục/bin vào đường dẫn của tôi rồi chạy 'mvn dependency: copy-dependencies'. VÂNG! Bây giờ nó hoạt động, Maven làm những gì nó được cho là phải làm! Bây giờ nó chỉ là để sao chép tất cả * .jar vào dự án của tôi và thêm vào đường dẫn xây dựng của tôi –