Gần đây tôi đã làm việc về một số cải tiến trong dự án đã phát triển một số thời gian trước đây và đó là những gì tôi đã tìm thấy. Rất nhiều phụ thuộc trong các tệp pom không có phiên bản được chỉ định và chúng được giải quyết. Dự án bao gồm 1 mô-đun gốc và 2 mô-đun con. Mẫu tổng hợp được sử dụng, có nghĩa là không có phần phụ thuộc quản lý. Dự án trên chỉ đơn giản là tổng hợp 2 mô-đun và đó là tất cả. Tiểu dự án không đề cập đến nó như một phụ huynh. Họ có một phụ huynh khác. Những gì tôi không thể nắm bắt được là không phải tiểu dự án cũng không phải cha mẹ của họ (như là một vấn đề của thực tế, nó không có dependencyManagement hoặc là) xác định các phiên bản cho một số phụ thuộc. Ví dụ:phụ thuộc maven không có phiên bản
<dependency>
<groupId>javax.mail</groupId>
<artifactId>javax.mail-api</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>imap</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
Ai đó có thể giúp tôi tìm ra điều này không? Có vẻ như maven xử lý phiên bản với một số chiến lược mặc định.
bạn có thể hiển thị đầu ra 'mvn -version' để chắc chắn không? –
Nó không thể cho maven làm việc mà không xác định các phiên bản của các hiện vật. Chúng phải được định nghĩa ở đâu đó trong thẻ 'dependencyManagement' hoặc trong submodule hoặc parent. Vui lòng kiểm tra hệ thống phân cấp pom của bạn. Sử dụng trợ giúp mvn: effective-pom – Ozgen
Bạn đã kiểm tra qua 'mvn help: effective-pom -Doutput = result.xml' và kiểm tra xem không có dependencyManagement. – khmarbaise