Javadoc错误 - java.lang.reflect.InvocationTargetException

时间:2015-09-28 09:50:23

标签: javadoc invocationtargetexception

我正在尝试从yDoc库生成uml图。它基本上使用Javadoc来解析Java源文件。但是,当我尝试从终端(OS X)执行命令时,我收到以下错误:

javadoc: error - In doclet class ydoc.doclets.YStandard,  method start has thrown  
an exception  
java.lang.reflect.InvocationTargetException java.lang.NoSuchMethodError:

com.sun.tools.doclets.internal.toolkit.taglets.TagletManager.  
getConstructorCustomTags()[Lcom/sun/tools/doclets/internal/toolkit/taglets/Taglet;


at ydoc.doclets.F$_A.<init>(Unknown Source)
at ydoc.doclets.F.B(Unknown Source)
at ydoc.doclets.F.E(Unknown Source)
at ydoc.doclets.J.setSpecificDocletOptions(Unknown Source)
at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:560)
at ydoc.doclets.J.setOptions(Unknown Source)
at ydoc.doclets.C.A(Unknown Source)
at ydoc.doclets.YStandard.start(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:310)
at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:189)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:366)
at com.sun.tools.javadoc.Start.begin(Start.java:219)
at com.sun.tools.javadoc.Start.begin(Start.java:205)
at com.sun.tools.javadoc.Main.execute(Main.java:64)
at com.sun.tools.javadoc.Main.main(Main.java:54)

我运行了以下执行命令:

javadoc @doc/examples/options.sample.linux <Java file path>

从Eclipse IDE尝试时,我也遇到了同样的错误。

1 个答案:

答案 0 :(得分:0)

@codeblues和@Grant M,我刚刚注意到这个问题。我是blog post Grant M提到的作者。我刚刚再次尝试了我的指令,我正在按照预期使用UML图获取Javadoc。

对我来说,这听起来像JDK(和JavaDoc)和Ydoc.jar之间的版本不匹配。 Javadoc相关类位于jdk \ lib文件夹中名为tools.jar的jar中。您可能需要检查类路径以查看它是否包含正确的JDK。您可以尝试在* nix上使用哪个javadoc(或者#34;在Win 7+上使用javadoc&#34;以查找使用的JDK位置)。

提及&#34;未知来源&#39;在您的异常中似乎表明您指向的是JRE而不是JDK?另请参阅此Stackoverflow post关于&#34;(未知来源)&#34;在Java Exceptions中。

我希望你可以让它工作,看看UML跳进你的Javadoc!

HTH

萨姆