eclipse generate javadoc IllegalArgumentException

今天在用eclipse生成doc文档的时候,总是报错,很是奇怪!主要是以前没有用过,第一次用,看网的相关的解决方法也很少,摸索了半天,不过看了sylinx_yqg兄弟的日志(http://sylinx-yqg.javaeye.com/blog/342110),他也遇到了这个问题,这倒是给了我提示,可能是自己的classpath设置的有问题。的确,修改类路径后,正常运行了!

关于问题的解决思路总结如下:

在生成javadoc文档的时候,用到的命令会加载你在classpath中指定的所有class文件,如果你指定的资源文件根本不存在,比如说你指定了一个错误路径的jar文件,那么这个时候就会出现如下的问题:

java.lang.IllegalArgumentException
    at sun.net.www.ParseUtil.decode(ParseUtil.java:189)
    at sun.misc.URLClassPath$FileLoader.
<init>(URLClassPath.java:953)
    at sun.misc.URLClassPath$
3.run(URLClassPath.java:326)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.misc.URLClassPath.getLoader(URLClassPath.java:
320)
    at sun.misc.URLClassPath.getLoader(URLClassPath.java:
297)
    at sun.misc.URLClassPath.findResource(URLClassPath.java:
144)
    at java.net.URLClassLoader$
2.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findResource(URLClassLoader.java:
359)
    at java.lang.ClassLoader.getResource(ClassLoader.java:
977)
    at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:
1159)
    at javax.xml.parsers.SecuritySupport$
4.run(SecuritySupport.java:96)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:
89)
    at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:
248)
    at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:
221)
    at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:
128)
    at com.sun.tools.doclets.internal.toolkit.builders.LayoutParser.parseXML(LayoutParser.java:
72)
    at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.build(ClassBuilder.java:
108)
    at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:
155)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:
177)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:
161)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:
106)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:
64)
    at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:
42)
    at com.sun.tools.doclets.standard.Standard.start(Standard.java:
23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:
597)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:
215)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:
91)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:
340)
    at com.sun.tools.javadoc.Start.begin(Start.java:
128)
    at com.sun.tools.javadoc.Main.execute(Main.java:
41)
    at com.sun.tools.javadoc.Main.main(Main.java:
31)
com.sun.tools.doclets.internal.toolkit.util.DocletAbortException
    at com.sun.tools.doclets.internal.toolkit.builders.LayoutParser.parseXML(LayoutParser.java:
79)
    at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.build(ClassBuilder.java:
108)
    at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:
155)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:
177)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:
161)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:
106)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:
64)
    at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:
42)
    at com.sun.tools.doclets.standard.Standard.start(Standard.java:
23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:
597)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:
215)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:
91)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:
340)
    at com.sun.tools.javadoc.Start.begin(Start.java:
128)
    at com.sun.tools.javadoc.Main.execute(Main.java:
41)
    at com.sun.tools.javadoc.Main.main(Main.java:
31)
com.sun.tools.doclets.internal.toolkit.util.DocletAbortException
    at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:
159)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:
177)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:
161)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:
106)
    at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:
64)
    at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:
42)
    at com.sun.tools.doclets.standard.Standard.start(Standard.java:
23)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
    at java.lang.reflect.Method.invoke(Method.java:
597)
    at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:
215)
    at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:
91)
    at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:
340)
    at com.sun.tools.javadoc.Start.begin(Start.java:
128)
    at com.sun.tools.javadoc.Main.execute(Main.java:
41)
    at com.sun.tools.javadoc.Main.main(Main.java:
31)

所以,一定要注意自己类路径的配置。这里只是我想到的,可能还会有其它原因,这里只能提供这么多信息了,期望对大家有帮助!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值