2013-10-04 22 views
7

Hi am đang gặp phải một số vấn đề về trình cắm maven, khi đang cố triển khai dự án java-webservices, Dự án của tôi không tải xuống "maven-javadoc-plugin : 2.4" plugin, tôi đã cài đặt bằng tay "maven-javadoc-plugin 2.5" phiên bản jar vào .m2/kho lưu trữ của tôi. Am gettingĐã xảy ra lỗi trong tạo báo cáo JavaDocs: Mã thoát: 1 - javadoc: lỗi - cờ không hợp lệ: -author

"An error has occurred in JavaDocs report generation:Exit code: 1 - 
javadoc: error - invalid flag: -author". 

Ai có thể giúp tôi với lỗi này,

con pom

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <executions> 
     <execution> 
      <goals> 
       <goal>javadoc</goal> 
      </goals> 
      <phase>compile</phase> 
     </execution> 
    </executions> 
    <configuration> 
     <encoding>UTF-8</encoding> 
     <verbose>false</verbose> 
     <show>public</show> 
     <subpackages>com.pubco.mp.emarket.services</subpackages> 
     <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet> 
     <docletArtifacts> 
      <docletArtifact> 
       <groupId>com.sun.jersey.contribs</groupId> 
       <artifactId>wadl-resourcedoc-doclet</artifactId> 
       <version>${jersey-client.version}</version> 
      </docletArtifact> 
      <docletArtifact> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-server</artifactId> 
       <version>${jersey-client.version}</version> 
      </docletArtifact> 
      <docletArtifact> 
       <groupId>xerces</groupId> 
       <artifactId>xercesImpl</artifactId> 
       <version>2.6.1</version> 
      </docletArtifact> 
     </docletArtifacts> 
     <additionalparam>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalparam> 
    </configuration> 
</plugin> 

pom phụ huynh:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <executions> 
     <execution> 
      <goals> 
       <goal>javadoc</goal> 
      </goals> 
      <phase>compile</phase> 
     </execution> 
    </executions> 
    <configuration> 
     <encoding>UTF-8</encoding> 
     <verbose>false</verbose> 
     <show>public</show> 
     <subpackages>com.pubco.mp.emarket.services</subpackages> 
     <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet> 
     <docletArtifacts> 
      <docletArtifact> 
       <groupId>com.sun.jersey.contribs</groupId> 
       <artifactId>wadl-resourcedoc-doclet</artifactId> 
       <version>${jersey-client.version}</version> 
      </docletArtifact> 
      <docletArtifact> 
       <groupId>com.sun.jersey</groupId> 
       <artifactId>jersey-server</artifactId> 
       <version>${jersey-client.version}</version> 
      </docletArtifact> 
      <docletArtifact> 
       <groupId>xerces</groupId> 
       <artifactId>xercesImpl</artifactId> 
       <version>2.6.1</version> 
      </docletArtifact> 
     </docletArtifacts> 
     <additionalparam>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalparam> 
    </configuration> 
</plugin> 

Siêu POM : đã có số phiên bản và tôi không chắc chắn về cách thức siêu pom này được tải xuống.

<maven-javadoc-plugin.version>2.5</maven-javadoc-plugin.version> 

<pluginExecution> 
    <pluginExecutionFilter> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-javadoc-plugin</artifactId> 
     <versionRange>[2.5,)</versionRange> 
     <goals> 
      <goal>javadoc</goal> 
     </goals> 
    </pluginExecutionFilter> 
    <action> 
     <execute/> 
    </action> 
</pluginExecution> 

đầy đủ đầu ra lỗi:

1 error 
[INFO] 
------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] 
------------------------------------------------------------------------ 
[INFO] Total time: 23.959s 
[INFO] Finished at: Fri Oct 04 18:31:07 IST 2013 
[INFO] Final Memory: 16M/29M 
[INFO] 
------------------------------------------------------------------------ 
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-javadoc-plugin:2.5:javadoc (default) on 
project mpemarketservices-war: An error has occurred in JavaDocs 
report generation:Exit code: 1 - javadoc: error - invalid flag: -author 
[ERROR] 
[ERROR] Command line was:C:\jdk1.6.0_13\jre\..\bin\javadoc.exe @options 
[ERROR] -> [Help 1] 
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 
[ERROR] Re-run Maven using the -X switch to enable full debug logging. 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles: 

[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException 
+0

Tôi chỉ cần thêm thông tin pom, bạn có thể xin vui lòng có một cái nhìn –

+0

trên thực tế, đến để suy nghĩ về nó, tại sao bạn đang sử dụng 2,5? Đó là vật liệu đá. Phiên bản hiện tại là 2.9.1 - Bạn có thể thử sử dụng nó và xem liệu lỗi có còn tồn tại không? – Mureinik

+0

vâng, đúng vậy. Nhưng quyết định của người quản lý xây dựng của tôi. thậm chí tôi đã thử với 2.9.1 tại địa phương của tôi, nó không giúp được gì. –

Trả lời

5

tôi đã cùng một vấn đề ngày hôm nay và cố định nó bằng cách thêm một tùy chọn cấu hình để các plugin Javadoc:

<useStandardDocletOptions>false</useStandardDocletOptions> 

Vì vậy, các cấu hình kết quả trông giống như sau:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <executions> 
       <execution> 
        <goals> 
         <goal>javadoc</goal> 
        </goals> 
        <phase>compile</phase> 
       </execution> 
      </executions> 
      <configuration> 
       <encoding>UTF-8</encoding> 
       <verbose>false</verbose> 
       <show>public</show> 
       <subpackages>com.pubco.mp.emarket.services</subpackages> 
       <doclet>com.sun.jersey.wadl.resourcedoc.ResourceDoclet</doclet> 
       <docletArtifacts> 
        <docletArtifact> 
         <groupId>com.sun.jersey.contribs</groupId> 
         <artifactId>wadl-resourcedoc-doclet</artifactId> 
         <version>${jersey-client.version}</version> 
        </docletArtifact> 
        <docletArtifact> 
         <groupId>com.sun.jersey</groupId> 
         <artifactId>jersey-server</artifactId> 
         <version>${jersey-client.version}</version> 
        </docletArtifact> 
        <docletArtifact> 
         <groupId>xerces</groupId> 
         <artifactId>xercesImpl</artifactId> 
         <version>2.6.1</version> 
        </docletArtifact> 
       </docletArtifacts> 
       <additionalparam>-output ${project.build.outputDirectory}/resourcedoc.xml</additionalparam> 
       <useStandardDocletOptions>false</useStandardDocletOptions> 
      </configuration> 
     </plugin> 
0

Nếu bạn đang viết một doclet và bạn muốn nó có thể làm việc với các tùy chọn tiêu chuẩn, bạn có thể sử dụng optionLength để chuyển chúng qua.

Tài liệu UmlGraphDoc doclet cho biết cách chuyển tiếp các tùy chọn chuẩn vào doclet chuẩn trong khi đặt trước các tùy chọn bạn muốn cho doclet của mình.

import com.sun.tools.doclets.standard.Standard; 

... 

/** 
* Option check, forwards options to the standard doclet, if that one 
* refuses them, they are sent to UmlGraph 
*/ 
public static int optionLength(String option) { 
    int result = Standard.optionLength(option); 
    if (result != 0) 
     return result; 
    else 
     return UmlGraph.optionLength(option); 
} 
Các vấn đề liên quan