2009-07-20 34 views
5

Tôi cần thiết lập các plugin Maven. Tôi đã tải xuống các JAR. Bất cứ ai có thể vui lòng cho tôi biết tôi phải làm gì tiếp theo để tích hợp hoặc thiết lập các plugin với Maven? Tôi có nên sao chép các tệp JAR vào thư mục mẹ hoặc tôi có cần chỉnh sửa bất kỳ tệp nào không?Tích hợp các trình bổ sung báo cáo Maven

Các plugin là:

  • Java2HTML
  • JDepend
  • Checkstyle
  • Clover
  • Cobertura
  • EMMA
  • FindBugs
  • JavaNCSS
  • PMD
  • QALab
  • Xradar
  • Sonar
+0

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. –

+0

... 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

Trả lời

0

Bạn không cần phải tải về các plugin bằng tay. Tôi không chắc chắn 100%, nhưng nếu bạn muốn sử dụng ví dụ plugin checkstyle, bạn cần phải bắt đầu maven với hình thức tham số dòng lệnh checkstyle

cái gì đó như:

mvn checkstyle:checkstyle 

hoặc

mvn checkstyle:check 

edit1: Nhưng bạn cũng có thể đặt các lọ vào kho lưu trữ m2 cục bộ với cấu trúc thư mục cụ thể để truy cập chúng.

edit2: bạn có thể đặt tất cả các plugin của bạn vào kho lưu trữ của riêng bạn và sau đó bạn cần phải nói với maven (bằng cách sử dụng pom), mà kho bạn muốn sử dụng. Mỗi plugin phải được mô tả trong pom.

1

Sirakov là đúng; Maven sẽ tải xuống và cài đặt các plugin tự động khi chúng được sử dụng.

Bạn có thể chạy chúng trực tiếp (cho công việc một lần) hoặc định cấu hình chúng trong tệp pom.xml của bạn - điều này cũng cho phép bạn định cấu hình, và đặt để tự động chạy, ví dụ, để tạo mã nguồn hoặc báo cáo về phạm vi kiểm tra. Một lợi thế lớn của việc này là bạn có thể định nghĩa một tập cấu hình plugin đơn lẻ trong một phụ huynh được chia sẻ và sử dụng lại cùng cấu hình trên tất cả các dự án của bạn, trong khi vẫn có thể ghi đè cấu hình được kế thừa trong mỗi dự án nếu cần - đây là một trong những lợi thế lớn nhất của việc sử dụng Maven trên các dự án lớn hơn.

Mỗi plugin có thông số cấu hình riêng, các tham số chuẩn được ghi lại tại http://maven.apache.org/plugins/. Một nguồn lực tốt là cuốn sách O'Reilly Maven, trực tuyến tại http://www.sonatype.com/books/maven-book/reference/

Một cấu hình ví dụ cho Cobertura:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-pmd-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <outputDirectory>${project.build.directory}/pmd</outputDirectory> 
     <targetDirectory>${project.build.directory}</targetDirectory> 
     <aggregate>true</aggregate> 
     <!-- CPD minimum tokens to report on (5 to 10 duplicate lines) --> 
     <minimumTokens>100</minimumTokens> 
     <minimumPriority>3</minimumPriority> 
     <!-- Exclude mock classes  --> 
     <excludes> 
     <exclude>**/Mock.*</exclude> 
     <exclude>**/Dummy.*</exclude> 
     <exclude>**/*Mock.java</exclude> 
     <exclude>**/*Dummy.java</exclude> 
     </excludes> 
     <includeTests>true</includeTests> 
     <targetJdk>1.5</targetJdk> 
     <rulesets> 
      <ruleset>pmd_ruleset.xml</ruleset> 
     </rulesets> 
    </configuration> 
</plugin> 
13

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í.

+0

@RichSeller Hướng dẫn dứt khoát không phải là liên kết trực tiếp (hoặc ít nhất là người được cung cấp của bạn). Hãy thử cách này: http://www.sonatype.com/resources/books – Crowie

Các vấn đề liên quan