`
qihuiyong6
  • 浏览: 40740 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javadoc生成文档问题

阅读更多
今天试着做了一下使用maven生成doc文档,这个功能开始还是觉得很简单的以为自己几小时内能搞定,但是遇到了一个诡异的问题花了我将近多半天时间才解决。在这里记录一下方便遇到同类问题的人参考。

操作步骤
使用maven生成doc 正常情况下还是很简单的在pom里面配置一个javadoc的插件,然后可以在指定的maven寿命周期上绑定插件的配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.qhy.demo</groupId>
	<artifactId>DocGen</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>sss</name>
	<description>ddddd</description>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.3</version>
				<executions>
					<execution>
						<id>attach-javadoc</id>
						<phase>package</phase>
						<goals>
							<goal>jar</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<show>public</show>
					<charset>UTF-8</charset>
					<encoding>UTF-8</encoding>
					<docencoding>UTF-8</docencoding>
					<excludePackageNames>com.alibaba.com.*</excludePackageNames>
					<links>
						<link>http://docs.oracle.com/javase/6/docs/api</link>
					</links>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>



开始的错误日志:
[INFO] --- maven-jar-plugin:2.3.2:jar (default-jar) @ DocGen ---
[INFO] Building jar: E:\work\workspace_dubbo\DocGen\target\DocGen-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] --- maven-javadoc-plugin:2.10.3:jar (attach-javadoc) @ DocGen ---
[INFO] 
正在装入软件包 com.qhy.gen 的源文件...
正在构造 Javadoc 信息...
标准 Doclet 版本 1.6.0_39
正在构建所有软件包和类的树...
正在生成 E:/work/workspace_dubbo/DocGen/target/apidocs\com/qhy/gen/\Test.html...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7.850s
[INFO] Finished at: Fri Jun 03 15:16:57 CST 2016
[INFO] Final Memory: 18M/157M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-javadoc-plugin:2.10.3:jar (attach-javadoc) on project DocGen: MavenReportException: Error while generating Javadoc:
[ERROR] Exit code: 1 - java.lang.IllegalArgumentException
[ERROR] at sun.net.www.ParseUtil.decode(ParseUtil.java:189)
[ERROR] at sun.misc.URLClassPath$FileLoader.<init>(URLClassPath.java:958)
[ERROR] at sun.misc.URLClassPath$3.run(URLClassPath.java:328)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at sun.misc.URLClassPath.getLoader(URLClassPath.java:322)
[ERROR] at sun.misc.URLClassPath.getLoader(URLClassPath.java:299)
[ERROR] at sun.misc.URLClassPath.findResource(URLClassPath.java:145)
[ERROR] at java.net.URLClassLoader$2.run(URLClassLoader.java:385)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at java.net.URLClassLoader.findResource(URLClassLoader.java:382)
[ERROR] at java.lang.ClassLoader.getResource(ClassLoader.java:1002)
[ERROR] at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1192)
[ERROR] at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:96)
[ERROR] at java.security.AccessController.doPrivileged(Native Method)
[ERROR] at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:89)
[ERROR] at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
[ERROR] at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:223)
[ERROR] at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:128)
[ERROR] at com.sun.tools.doclets.internal.toolkit.builders.LayoutParser.parseXML(LayoutParser.java:72)
[ERROR] at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.build(ClassBuilder.java:108)
[ERROR] at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:155)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:164)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:106)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)
[ERROR] at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)
[ERROR] at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:597)
[ERROR] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
[ERROR] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
[ERROR] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
[ERROR] at com.sun.tools.javadoc.Start.begin(Start.java:128)
[ERROR] at com.sun.tools.javadoc.Main.execute(Main.java:41)
[ERROR] at com.sun.tools.javadoc.Main.main(Main.java:31)
[ERROR] com.sun.tools.doclets.internal.toolkit.util.DocletAbortException
[ERROR] at com.sun.tools.doclets.internal.toolkit.builders.LayoutParser.parseXML(LayoutParser.java:79)
[ERROR] at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.build(ClassBuilder.java:108)
[ERROR] at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:155)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:164)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:106)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)
[ERROR] at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)
[ERROR] at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:597)
[ERROR] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
[ERROR] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
[ERROR] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
[ERROR] at com.sun.tools.javadoc.Start.begin(Start.java:128)
[ERROR] at com.sun.tools.javadoc.Main.execute(Main.java:41)
[ERROR] at com.sun.tools.javadoc.Main.main(Main.java:31)
[ERROR] com.sun.tools.doclets.internal.toolkit.util.DocletAbortException
[ERROR] at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:159)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:164)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:106)
[ERROR] at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)
[ERROR] at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)
[ERROR] at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ERROR] at java.lang.reflect.Method.invoke(Method.java:597)
[ERROR] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
[ERROR] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
[ERROR] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
[ERROR] at com.sun.tools.javadoc.Start.begin(Start.java:128)
[ERROR] at com.sun.tools.javadoc.Main.execute(Main.java:41)
[ERROR] at com.sun.tools.javadoc.Main.main(Main.java:31)
[ERROR] 
[ERROR] Command line was: D:\devtools\Java\jdk1.6.0_39\jre\..\bin\javadoc.exe @options @packages
[ERROR] 
[ERROR] Refer to the generated Javadoc files in 'E:\work\workspace_dubbo\DocGen\target\apidocs' dir.
[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



D:\devtools\Java\jdk1.6.0_39\lib\tools.jar;D:\devtools\Java\jdk1.6.0_39\jre\lib\rt.jar


解决方法:

这个问题是由于java环境变量配置造成的,我开始是.;%javahome%\jre\lib\tools.jar;%javahome%\jre\lib\dt.jar
后来改为:.;D:\devtools\Java\jdk1.6.0_39\lib\tools.jar;D:\devtools\Java\jdk1.6.0_39\jre\lib\rt.jar
后来重启电脑,才好的;不重启还是不行,另一个项目还有点问题,大概可以确定是环境的问题。大家不要像我一样在pom配置上找了半天。

分享到:
评论

相关推荐

    JavaDoc生成API文档(powernode document)(源代码和导出的文档)

    JavaDoc生成API文档(powernode document)(内含源代码和导出的文档) 1.1 JavaDoc概述 1.2 文档注释的格式 1.3 IDEA生成API文档 vaDoc是Java自带的一种工具,其可以从程序源代码中抽取类、方法、属性等注释形成一...

    javadoc帮助文档的生成

    javadoc 帮助文档的生成 javadoc 帮助文档的生成是 Java 开发者必备的技能之一。通过使用 JDK 提供的 javadoc.exe 工具,可以生成帮助文档,并备注了代码,可以参考注释的书写格式。今天,我们将详细介绍 javadoc ...

    Javadoc自动生成帮助文档

    Javadoc生成文档的依据是源代码中的文档注释,即以`/**`开头,`*/`结尾的注释块。这种注释可以包含多行文本,并支持HTML格式化标记,如斜体`&lt;i&gt;`、粗体`&lt;b&gt;`和等宽字体`&lt;code&gt;`,但应避免使用如`&lt;title&gt;`和`&lt;hr&gt;`等...

    使用Eclipse生成Javadoc文档的方法

    确保该项目已经被正确编译且没有编译错误,因为存在错误的代码将无法成功生成文档。 2. **选择导出选项**:在菜单栏中选择“File”-&gt;“Export”,或者直接点击工具栏上的“Export”按钮。这将打开一个导出向导窗口...

    规范生成Javadoc帮助文档

    Eclipse中自动生成Javadoc的方法,以及一些标签的含义

    如何个性化地生成Javadoc文档

    这一段时间在研究Javadoc的问题,前面发布的Javadoc转换chm帮助文档的四种方法总结,总结了如何实现Javadoc到chm的转换,希望给大家带来了一些方便,今天我们来说说如何利用Eclipse生成个性化的Javadoc 文档,也希望...

    jd2chm 生成javadoc chm文档

    jd2chm是一款专为Java开发者设计的实用工具,它能够快速将Javadoc生成的HTML文档转换成CHM格式。CHM文件是Windows操作系统下的一个压缩文档格式,集成了搜索、索引等功能,便于用户快速查找和浏览信息,尤其适合在...

    JavaDoc生成API文档(powernode CD2207)(教学视频+源代码)

    JavaDoc生成API文档(powernode CD2207)(内含教学视频+源代码) 1.1 JavaDoc概述 1.2 文档注释的格式 1.3 IDEA生成API文档 JavaDoc是Java自带的一种工具,其可以从程序源代码中抽取类、方法、属性等注释形成一个和源...

    Javadoc详细讲解以及生成方式

    2. 选择要生成文档的源代码目录。 3. 设置输出目录和选项,然后点击`OK`。 4. Android Studio会自动处理并生成HTML文档。 ### 4. 在Eclipse中生成Javadoc Eclipse的Javadoc生成步骤如下: 1. 右键点击项目,选择`...

    javadoc标准注释文档

    - IDE如Eclipse、IntelliJ IDEA内置Javadoc生成功能,方便快捷。 5. **代码规范**: - 每个公共类、接口、方法和变量都应有Javadoc注释。 - 对于非公共元素,根据团队或项目规定决定是否添加注释。 - 注释应与...

    Eclipse生成javadoc

    第三种方法是选中要生成文档的项目,然后用菜单选择Project-&gt;Generate Javadoc直接进入Javadoc Generation对话框,剩余的步骤就和第一种方法中的Javadoc Generation是一样的。 在使用javadoc命令生成javadoc文档时...

    javadoc 生成注释 和 检查注释的文档

    在Java源代码中,JavaDoc注释以`/**`开头,`*/`结尾,位于你想要为其生成文档的元素之前。例如,对于一个类: ```java /** * 这是一个简单的示例类,用于展示JavaDoc的使用。 */ public class SimpleExample { /...

    javaDoc&chm;生成小工具

    首先,JavaDoc是Java编程语言的一个标准工具,用于从源代码中自动生成文档。它通过解析注释(Java源代码中的`/**...*/`块)来提取信息,生成易于理解的HTML格式文档,包含了类、方法、接口等详细说明。JavaDoc注释...

    生成Javadoc文档

    通过Javadoc生成的文档不仅包括类、方法和属性的描述,还包括示例代码、作者信息、版本信息等元数据。 #### 如何生成Javadoc 要生成Javadoc文档,可以使用Eclipse或其他集成开发环境(IDE)提供的功能,也可以直接...

    基于Java的Javadoc文档生成工具.zip

    基于Java的Javadoc文档生成工具 内容概要 本项目是一个基于Java的Javadoc文档生成工具,旨在帮助开发者将普通的代码注释转换为标准的Javadoc格式。通过这个工具,开发者可以轻松生成详细的API文档,提高代码的...

    springfox-javadoc:能够使用Javadoc生成OpenAPI规范的文档

    能够使用Javadoc生成OpenAPI规范的文档 要使用此功能,请确保在您的spring上下文中找到了JavadocPluginConfiguration ,并将javadoc doclet的执行添加到您的构建过程中。 Maven的例子: &lt; groupId&gt;org.apache....

    javadoc生成chm工具

    JavaDoc是一种标准的工具,用于从Java源代码中生成文档,它通过解析注释来创建API文档,使得开发者能够方便地了解类、方法、接口等的功能和使用方式。CHM(Microsoft Compiled HTML Help)文件是一种常见的Windows...

    javadoc2swagger:将Javadoc转换为-读取自定义javadoc标记并生成一个swagger文件

    Maven插件,用于从JAX-RS和Javadoc注释生成Swagger 这个Maven插件正在为基于JAX-RS的Java服务器生成Swagger API文档。 JAX-RS批注中未包含的其他信息放置在Javadoc注释中。 例 此处提供了一个使用javadoc2swagger-...

    02_Eclipse中设置javadoc中文帮助文档

    其中,javadoc是Java项目中常用的一种自动生成文档的方式,可以帮助开发者快速了解代码的功能和用法。然而,默认情况下,javadoc提供的文档通常是英文的,对于非英语母语的开发者来说,这可能会带来一定的理解障碍。...

Global site tag (gtag.js) - Google Analytics