Bạn có thể sử dụng số maven dependency plugin có mục tiêu dependency:get
đẹp từ phiên bản 2.1. Không cần cho một pom, mọi thứ xảy ra trên dòng lệnh.
Để đảm bảo để tìm mục tiêu dependency:get
, bạn cần phải nói cho rõ ràng maven sử dụng phiên bản 2.1, nghĩa là bạn cần phải sử dụng tên đầy đủ của các plugin, bao gồm các phiên bản:
mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get \
-DrepoUrl=url \
-Dartifact=groupId:artifactId:version
CẬP NHẬT: Với phiên bản Maven cũ hơn (trước 2.1), bạn có thể chạy dependency:get
bình thường (không sử dụng tên và phiên bản đầy đủ) bằng cách buộc bản sao của maven sử dụng phiên bản plugin nhất định.
Điều này có thể được thực hiện như sau:
1. Thêm dòng sau trong phần tử <settings>
của ~/.m2/settings.xml
tập tin của bạn:
<usePluginRegistry>true</usePluginRegistry>
2. Thêm tập tin ~/.m2/plugin-registry.xml
với các nội dung sau :
<?xml version="1.0" encoding="UTF-8"?>
<pluginRegistry xsi:schemaLocation="http://maven.apache.org/PLUGIN_REGISTRY/1.0.0 http://maven.apache.org/xsd/plugin-registry-1.0.0.xsd"
xmlns="http://maven.apache.org/PLUGIN_REGISTRY/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<useVersion>2.1</useVersion>
<rejectedVersions/>
</plugin>
</plugins>
</pluginRegistry>
Nhưng điều này dường như không hoạt động nữa với maven 2.1/2.2. Trên thực tế, theo số Introduction to the Plugin Registry, các tính năng của plugin-registry.xml
đã được thiết kế lại (cho tính di động) và đăng ký plugin hiện đang ở trạng thái nửa không hoạt động trong Maven 2. Vì vậy, tôi nghĩ rằng chúng ta phải sử dụng tên dài cho bây giờ (khi sử dụng các plugin mà không có một pom, đó là ý tưởng đằng sau dependency:get
).
Nguồn
2009-12-13 10:29:48
Hãy coi chừng plugin muốn 'repoUrl', mặc dù tài liệu có nội dung 'repositoryUrl'. Nó có thể lái xe u điên như nó đã làm với tôi! – zakmck
tài liệu (http: //maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html) hiển thị cả tham số xml ( ... repositoryUrl>) và thuộc tính người dùng dòng lệnh (mvn ... -DrepoUrl = ".. . "). Ví dụ cụ thể này không được chấp nhận, vì vậy đừng lo lắng; bây giờ nó bây giờ là remoteRepositories thống nhất (trong cả hai cách sử dụng); nhưng lưu ý rằng tham số "đích" là thuộc tính người dùng "-Ddest = ..."; ví dụ => mvn org.apache.maven.plugins: maven-dependency-plugin: 2.5.1: get -DremoteRepositories = repo.maven.apache.org -Dartifact = org.apache.ant: ant: 1.8.1 -Ddest = ant-1.8.1.jar (kết quả: ant-1.8.1.jar trong thư mục hiện tại) –
michael