2011-01-12 37 views
11

Tôi đang cố gắng tạo trang web maven cơ bản bằng cách sử dụng plugin trang web maven. Vì vậy, tôi đã thêm này để pom của tôi:Trang web Maven (Maven 3) tạo thư mục trang web trống

<reporting> 
    <plugins> 
     <!--JavaDoc setup--> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.7</version> 
      <configuration> 
       <defaultAuthor>Leon Blakey</defaultAuthor> 
       <defaultVersion>${project.version}</defaultVersion> 
       <links> 
        <link>http://download.oracle.com/javase/6/docs/api</link> 
       </links> 
      </configuration> 
     </plugin> 
    </plugins> 
</reporting> 

Và chạy mvn site --errors

[INFO] Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building pircbotx 1.3-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.688s 
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011 
[INFO] Final Memory: 5M/13M 
[INFO] ------------------------------------------------------------------------ 
W:\programming\pircbot-hg> 

Hmm, lẻ mà không có đầu ra. Vì vậy, khi tôi kiểm tra mục tiêu/trang web, nó trống. Các thư mục duy nhất là images /, css /, và WEB-INF /, chứa đầy một số hình ảnh chung. Không có javadoc và không có trang web.

Đây là tái sản xuất với mvn site:sitemvn org.apache.maven.plugins:maven-site-plugin:2.2:site (rõ ràng maven chỉ muốn sử dụng 2.0.1 theo mặc định)

Whats lạ là tôi có thể quay về maven 2.2.1 và tạo ra thành công một trang web. Nhưng khi tôi sử dụng 3.0.1-RC1 (xảy ra với Netbeans), nó không thành công.

Tôi đang làm gì sai khiến plugin trang web không thành công trong 3.0.1 nhưng không phải là 2.2.1?

+0

Không phải điều này sẽ giúp bạn, nhưng tôi đã có cùng một vấn đề với 3.0 và nhận ra đó là một lỗi maven. Tôi chưa bao giờ nhận được trang web được tạo. – digitaljoel

+2

Kiểm tra https://cwiki.apache.org/MAVEN/maven-3x-and-site-plugin.html để xem điều đó có hữu ích không? – Raghuram

+0

@Raghuram những ngày này tôi nghĩ rằng liên kết bạn cung cấp về Maven 3 và plugin trang web là chi tiết tại trang này thay vào đó: http://maven.apache.org/plugins/maven-site-plugin/maven-3.html – Crowie

Trả lời

12

Có lẽ bạn có thể thử sử dụng Maven Site Plugin 3.x. Bạn có thể làm điều đó bằng cách thêm thông tin sau vào pom.xml của mình

<build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-site-plugin</artifactId> 
      <version>3.0-beta-3</version> 
     </plugin> 
    </plugins> 
</build> 
+0

Có, sử dụng plugin 3.0-beta-3 chắc chắn làm cho maven thực sự hoạt động, nhưng nó làm tôi khó chịu để sử dụng phiên bản plugin với -beta trong đó. – Jesse

+0

Điều này có bị hỏng nếu tôi sử dụng Maven 2 không? Tôi di chuyển giữa 2.2.1 và 3.0.1 – TheLQ

+1

@TheLQ. Vâng. Phiên bản này của plugin yêu cầu maven 3 – Raghuram

8

Tôi đã gặp vấn đề tương tự. Tôi đã tìm thấy một số blog post về chủ đề.

Trích dẫn blog (tôi nhấn mạnh):

Nếu bạn đã sử dụng phần báo cáo của tập tin pom.xml để tạo ra số liệu chất lượng mã, báo cáo javadoc, và vân vân, bạn có thể có một chút làm việc để di chuyển tính năng này vào Maven 3. Thật vậy, các phần báo cáo và reportSets đã không được chấp nhận (nó sẽ không gây ra lỗi với Maven 3, nó sẽ bị bỏ qua) và đã được thay thế bằng phần reportPlugins trong khối cấu hình của chính maven-site-plugin.

Lờ đi cái cũ <reporting> mà không có cảnh báo nào về nó bị phản đối có vẻ hơi thô lỗ, nhưng dù sao ...

Vì vậy, bạn về cơ bản chỉ cần di chuyển plugins báo cáo cũ của bạn vào phần cấu hình của mới maven-site-plugin.

A section of the maven-plugin-site giải thích rằng họ removed of all reporting logic from the core of Maven để "tách lõi Maven khỏi Doxia và cho phép các hệ thống báo cáo tùy ý được phát triển". Có ý nghĩa.

+0

Yea, đó là lý do tại sao mọi thứ đã bị hỏng và tại sao Trang web 3 được yêu cầu – TheLQ

7

Sử dụng Plugin trang web (http://maven.apache.org/plugins/maven-site-plugin/) với Maven 3 cuối cùng dường như đã được giải quyết. Phiên bản (không phải phiên bản beta) đã được phát hành và khả năng sử dụng cấu trúc <reporting> kiểu phiên bản 2 trong khai báo pom.xml đã được thêm vào.

Mặc dù nó (như thường lệ) khó điều hướng tài liệu đáng kể nhưng chưa được tổ chức và chồng chéo về Maven 3 và plugin trang, một trang - http://maven.apache.org/plugins/maven-site-plugin/maven-3.html - cho biết kiểu cũ hiện được đề xuất trong plugin "plugin cho trang web mới" "style:

Lưu ý: Trong Maven 3, định dạng mới không hỗ trợ kế thừa cấu hình trình báo cáo: xem MSITE-484. Định dạng này về mặt kỹ thuật là cần thiết để loại bỏ logic báo cáo khỏi Maven 3, nhưng một cơ chế thừa kế mới vẫn cần phải được thêm vào Maven 3 để làm cho nó linh hoạt như định dạng cũ. Vì vậy, định dạng mới chưa sẵn sàng để sử dụng trực tiếp ngay bây giờ.

Trang ví dụ http://maven.apache.org/plugins/maven-site-plugin/examples/configuring-reports.html để định cấu hình báo cáo thậm chí không đề cập đến phương thức định dạng "mới".

Không chắc chắn nếu điều này ở dạng "thực hành tốt nhất", nhưng một phần báo cáo ví dụ về pom hoạt động cho tôi với một vài báo cáo bổ sung như sau; chọn các plugin của riêng bạn như mong muốn.

... 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-site-plugin</artifactId> 
       <version>3.0</version> 
      </plugin> 
     </plugins> 
    </build> 

    <reporting> 
     <plugins> 

      <!-- Default Site Pages --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-project-info-reports-plugin</artifactId> 
       <version>2.4</version> 
      </plugin> 

      <!-- Java Documentation --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-javadoc-plugin</artifactId> 
       <version>2.8</version> 
      </plugin> 

      <!-- Source Code Cross-Reference --> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-jxr-plugin</artifactId> 
       <version>2.3</version> 
      </plugin> 
      ... 
     </plugins> 
    </reporting> 

Là một sang một bên, Nếu bạn sử dụng các plugin M2E trong Eclipse để sửa POMs của bạn, sau đó bạn có thể sử dụng hoàn thành mã trong phần phiên bản của một plugin để cung cấp cho bạn một danh sách các phiên bản hiện tại của nó. Rất tiện dụng.

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