Tôi mới làm quen với maven và phần nào mới đối với java. Đã thử google và các nguồn có liên quan, nhưng tôi không tìm thấy nguồn nào giống với tình huống của tôi.không phụ thuộc vào thời gian chạy maven
Hiện tại, tôi có dự án maven X
và Y
. X
có thể được xem như là một thư viện được chia sẻ với một số tiện ích, Y
là một đơn giản JFrame
với một "hello world"
được in và gọi đến một phương pháp tĩnh trong X
.
Tôi thực hiện "chạy dưới dạng maven install
" trên dự án X
, tôi nhận được "build successful"
. Tôi thêm dự án X
làm phụ thuộc trong dự án Y
(sử dụng trình soạn thảo pom trong Eclipse, duyệt kho lưu trữ và định vị nó). Tôi thực hiện "chạy dưới dạng maven package
" trên dự án Y
, tôi nhận được "build successful"
. Khi chạy dự án Y
hoặc thông qua java -jar
hoặc kiểm tra bình được sản xuất, dự án X
bị thiếu ở khắp mọi nơi và tôi nhận được một lớp học lạ mắt không tìm thấy ngoại lệ. Eclipse tìm thấy nó và không có lỗi biên dịch trong trình soạn thảo nguồn.
Tại sao nó chỉ hoạt động trong trình chỉnh sửa Eclipse chứ không phải là jar?
POM:
<dependency>
<groupId>com.company.deployment.shared</groupId>
<artifactId>com.company.deployment.shared</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
Tha thứ cho tôi nếu tôi thấy khó khăn này, tôi đến từ một thế giới .net và bán hàng của tôi dpt đã bán cho tôi một dự án java để làm. Nhưng đối với một số lý do, maven chỉ kiểm tra nếu phụ thuộc có nhưng không thêm chúng? Cảm ơn bạn đã tip vào jar thực thi, nhưng vì nó bây giờ, tất cả các phụ thuộc vẫn còn thiếu ... Làm thế nào tôi có thể gói này theo cách mà khách hàng của tôi có thể sử dụng nó? Tôi chắc chắn hy vọng họ không cần dòng lệnh này ...? – Helfdane
@Helfdane - lý do nó không đặt phụ thuộc vào JAR của bạn là điều này sẽ không phải là điều đúng để làm trong hầu hết các trường hợp. Và đối với những trường hợp ở đó, có rất nhiều plugin để làm điều đó. –