JavaDocs 报告生成中发生错误:退出代码:1 - javadoc:错误 - 无效标志:-author


嗨,我

遇到了一些 maven 插件问题,当我尝试部署 java-webservices 项目时,我的项目没有下载"maven-javadoc-plugin : 2.4"插件,我手动将"maven-javadoc-plugin 2.5"版本 jar 安装到我的 .m2/存储库中。我正在得到

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

任何人都可以帮助我解决此错误吗,

儿童绒球

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

父绒球 :

<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 :已获得版本号,但不确定此超级POM是如何下载的。

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

全错误输出:

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

我今天遇到了同样的问题,并通过向 Javadoc 插件添加配置选项来修复它:

<useStandardDocletOptions>false</useStandardDocletOptions>

因此,生成的配置如下所示:

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

如果您正在编写文档,并且希望它能够使用标准选项,则可以使用 optionLength 来传递它们。

UmlGraphDoc 文档展示了如何将标准选项转发到标准文档,同时保留所需的文档

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);
}

该问题是由本文中概述的"doclint"引起的:https://blog.joda.org/2014/02/turning-off-doclint-in-jdk-8-javadoc.html

它最常出现在使用(无效的)@或HTML java文档时。

将其添加到 maven-javadoc-plugin:

                   <configuration>
                       <doclint>none</doclint>
                   </configuration>
            

最新更新