生成JavaDocs报告时出错:退出代码:1-javadoc:error-无效标志:-作者

生成JavaDocs报告时出错:退出代码:1-javadoc:error-无效标志:-作者,java,eclipse,web-services,maven,Java,Eclipse,Web Services,Maven,您好,我面临一些maven插件问题,当我尝试部署java webservices项目时,我的项目没有下载“maven javadoc插件:2.4”插件,我手动将“maven javadoc插件2.5”版本jar安装到我的.m2/存储库中。我越来越 "An error has occurred in JavaDocs report generation:Exit code: 1 - javadoc: error - invalid flag: -author". 谁能帮我解决这个错误 儿童pom

您好,我面临一些maven插件问题,当我尝试部署java webservices项目时,我的项目没有下载
“maven javadoc插件:2.4”
插件,我手动将
“maven javadoc插件2.5”
版本jar安装到我的.m2/存储库中。我越来越

"An error has occurred in JavaDocs report generation:Exit code: 1 -
javadoc: error - invalid flag: -author".
谁能帮我解决这个错误

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

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

<useStandardDocletOptions>false</useStandardDocletOptions>
false
因此,生成的配置如下所示:

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

org.apache.maven.plugins
maven javadoc插件
javadoc
编译
UTF-8
假的
公众的
com.pubco.mp.emarket.services
com.sun.jersey.wadl.resourcedoc.ResourceDoclet
com.sun.jersey.contribs
wadl资源文件
${jersey client.version}
泽西岛
泽西服务器
${jersey client.version}
薛西斯
干细胞移植
2.6.1
-输出${project.build.outputDirectory}/resourcedoc.xml
假的

如果您正在编写doclet,并且希望它能够使用标准选项,则可以使用
optionLength
传递这些选项

doclet显示了如何将标准选项转发到标准doclet,同时为doclet保留所需的选项


我只是添加了pom信息,你能看一下吗实际上,想想看,你为什么要用2.5?那是石器时代的材料。当前版本是2.9.1-你能试着使用它,看看错误是否仍然存在吗?是的,是的。但这是我的构建经理的决定。即使我在我的本地版本中尝试了2.9.1,也没有任何帮助。
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
<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>
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);
}