Nếu Maven có quyền truy cập vào các kho trung tâm nó sẽ tải về hầu hết các plugin (một số không được lưu trữ trên trung tâm, để truy cập những thứ bạn cần để xác định một kho lưu trữ bổ sung trong pom hoặc các thiết lập của bạn). Nếu các phụ thuộc được cấu hình trong POM của bạn, Maven sẽ tự động tìm cách tải xuống chúng khi bạn chạy một mục tiêu có liên quan. Đối với các phụ thuộc bạn liệt kê là trang web mvn.
Phần lớn các lọ bạn đã liệt kê là báo cáo, vì vậy phải được khai báo trong mục báo cáo của POM, ví dụ (tôi cũng sẽ khai báo phiên bản để đảm bảo bạn nhận được plugin dự kiến) :
<reporting>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<configuration>
<linkXref>true</linkXref>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
<outputDirectory>target/site/cobertura</outputDirectory>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-report-plugin</artifactId>
<configuration>
<outputDirectory>${basedir}/target/surefire-reports</outputDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jdepend-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<configuration>
<xmlOutput>true</xmlOutput>
<effort>Max</effort>
</configuration>
</plugin>
</plugins>
</reporting>
Một số nền trên mô hình thực hiện plugin của Maven: Khi bạn chạy mvn trang web, đây là tay viết tắt của "chạy mục tiêu trang web từ phiên bản mới nhất của các plugin trang web", tức là nó tương đương với trang web mvn: site, viết tắt là mvn org.apache.maven.plugins: maven-site-plugin: LATEST: site
Maven sẽ cố gắng liên hệ với kho lưu trữ trung tâm, xác định phiên bản MỚI nhất từ maven-metadata.xml, sau đó tải xuống (và bất kỳ phụ thuộc nào của nó cũng bị thiếu) trước khi thực hiện nó.
Nếu bạn là sau một proxy bạn có thể thấy một thông báo lỗi trong xây dựng đăng nhập của bạn như thế này:
[INFO] The plugin 'org.apache.maven.plugins:maven-site-plugin' does not exist or no valid version could be found
Để giải quyết điều này, bạn có thể khai báo cài đặt proxy trong settings.xml Maven của bạn (trong [MVN_HOME]/conf/settings.xml). Họ được nhận xét ra bởi mặc định, nhưng nhìn một cái gì đó như thế này:
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net,some.host.com</nonProxyHosts>
</proxy>
Thay thế tên người dùng, mật khẩu, lưu trữ, và các giá trị cổng với thích hợp cho môi trường của bạn và Maven sẽ có thể tải về các phụ thuộc yêu cầu.
Để biết thêm chi tiết về cách sử dụng Maven, hãy xem Maven: The Definitive Guide bởi Sonatype, trực tuyến và miễn phí.
Bạn không cần cả Emma lẫn Cobertura, chúng đều là công cụ bảo vệ mã và có thể xung đột tốt. –
... và bạn sẽ có đủ công việc để giữ một tổng thể hạnh phúc mà không cần thêm người khác :) – Crowie