Điều này tương tự như các câu hỏi khác (like this), nhưng tôi muốn có thể thực hiện việc này với API mới nhất. Plugin maven-dependency-plugin: tùy chọn verbose cây đã không được chấp nhận và không làm gì trong mã (2.5.1) mới nhất, vì vậy không có ví dụ hay về cách thực hiện.Làm thế nào để lập trình danh sách tất cả các phụ thuộc transitive, bao gồm cả những người bị ghi đè trong Maven bằng cách sử dụng DependencyGraphBuilder?
Trả lời
Tôi tin Aether
tiện ích lớp từ jcabi-aether có thể giúp bạn để có được một danh sách tất cả phụ thuộc của bất kỳ vật Maven, ví dụ:
File repo = this.session.getLocalRepository().getBasedir();
Collection<Artifact> deps = new Aether(this.getProject(), repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
JavaScopes.RUNTIME
);
Nếu bạn đang ở bên ngoài Maven plugin:
File repo = new File("/tmp/local-repository");
MavenProject project = new MavenProject();
project.setRemoteProjectRepositories(
Arrays.asList(
new RemoteRepository(
"maven-central",
"default",
"http://repo1.maven.org/maven2/"
)
)
);
Collection<Artifact> deps = new Aether(project, repo).resolve(
new DefaultArtifact("junit", "junit-dep", "", "jar", "4.10"),
"runtime"
);
Phụ thuộc duy nhất bạn cần là:
<dependency>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-aether</artifactId>
<version>0.7.5</version>
</dependency>
Được rồi ... Và làm thế nào điều này sẽ làm việc nếu bạn muốn sử dụng nó trên một 'MavenProject.getArtifact'? Có cách nào để làm điều đó? (Tôi đã yêu cầu điều này ở đây: http://stackoverflow.com/questions/16480314/get-all-the-dependencies-of-a-mavenproject-including-transitive-ones-using-aet). – carlspring
Hãy thử sử dụng một lớp tiện ích ['Classpath'] (http://www.jcabi.com/jcabi-aether/apidocs-0.7.19/com/jcabi/aether/Classpath.html) từ [' jcabi-aether' ] (http://www.jcabi.com/jcabi-aether/example-classpath.html) (Tôi đã trả lời câu hỏi khác của bạn) – yegor256
- 1. Bao gồm tất cả các phụ thuộc
- 2. Gradle, Làm thế nào để vô hiệu hóa tất cả các phụ thuộc Transitive
- 3. Làm cách nào để sử dụng HTML5 trong tất cả các trình duyệt bao gồm IE7,8?
- 4. Maven - bao gồm tất cả các môđun con của một pom như phụ thuộc trong một mô-đun
- 5. Vấn đề với maven xây dựng OSGi bao gồm cả phụ thuộc
- 6. C#: Làm thế nào để bao gồm DLL phụ thuộc?
- 7. Làm thế nào để bao gồm tất cả các trang SetUp tổ tiên trong Subwikis FitNesse?
- 8. Maven 2.1 phụ thuộc: phân tích. Phụ thuộc transitive: Sử dụng phụ thuộc undeclared tìm thấy
- 9. Bao gồm phụ thuộc JSTL với Maven
- 10. Không bao gồm phụ thuộc Maven
- 11. Xây dựng JAR bao gồm tất cả các phụ thuộc của nó
- 12. Phản ánh trên tất cả các thuộc tính của giao diện, bao gồm cả các thuộc tính được kế thừa?
- 13. Maven: làm thế nào để ghi đè lên phụ thuộc thêm vào một thư viện
- 14. Bắt tất cả các thuộc tính (Bao gồm cả các thuộc tính ẩn) của 0 (Đối tượng gốc)
- 15. Tại sao CSS không đặt lại sử dụng '*' để bao gồm tất cả các phần tử?
- 16. Cách tạo biểu đồ phụ thuộc giữa tất cả các mô-đun của dự án Maven?
- 17. Maven: xóa một phụ thuộc duy nhất transitive
- 18. Xác định nguồn phụ thuộc transitive
- 19. Cách lấy danh sách tất cả các đối tượng? - PostgreSQL
- 20. Làm thế nào để bao gồm tất cả các css giữ trong một direcotry?
- 21. Làm thế nào để lập trình liệt kê tất cả các thuộc tính được xác định?
- 22. Nhận sự kiện hashchange để làm việc trong tất cả các trình duyệt (bao gồm IE7)
- 23. Làm thế nào để có được danh sách tất cả các cửa sổ xử lý trong Java (Sử dụng JNA)?
- 24. Tôi làm cách nào để đóng gói ứng dụng Ruby cho Ubuntu, bao gồm cả phụ thuộc vào đá quý?
- 25. Làm thế nào để liệt kê tất cả các thuộc tính phụ thuộc của kiểm soát?
- 26. Danh sách ghi đè lên dữ liệu trên tất cả các vị trí
- 27. Làm cách nào để bao gồm các phụ thuộc trong Dự án thiết lập và triển khai?
- 28. Thêm thuộc tính tùy chỉnh để bao gồm trong tất cả các thông điệp log4net
- 29. Làm thế nào để lấy danh sách tất cả kho lưu trữ github của một người?
- 30. Lập trình truy xuất danh sách tất cả các phương thức giao hàng
Hiện tại, Aet mới cô ấy được sử dụng trong này không cung cấp thông tin như vậy. Chỉ các phiên bản cũ hơn của plugin phụ thuộc maven cung cấp thông tin đó (http://maven.40175.n5.nabble.com/maven-dependency-plugin-Questions-td5729997.html). – khmarbaise
Tôi đoán điều đó có nghĩa là câu trả lời ngắn gọn là không thể thực hiện được vào lúc này. Ít nhất cho đến khi Hervé có thể là một giải pháp vào maven-core. – Ben