2015-09-28 102 views
4

我想从yDoc库生成uml图。它基本上使用Javadoc来解析Java源文件。然而,当我试图执行从终端(OS X)的命令,我收到以下错误:Javadoc错误 - java.lang.reflect.InvocationTargetException

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尝试时。

+0

我收到完全相同的错误跟踪以下在Eclipse中运行它自己的指令。我也是在OS X 。 https://www.yworks.com/products/yDoc/doc/usersguide.html –

+0

我也试过https://power2build.wordpress.com/2015/02/24/uml-doclet-in-eclipse/添加JRE源代码兼容性1.5和其他虚拟机选项 –

回答

0

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

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

一提到“在您的例外未知源”似乎表明您指向JRE而不是JDK ??而且,看到这个Stackoverflow post约‘(来源不明)’,在Java异常。

我希望你能得到这个工作,看到UMLS跳进你的Javadoc!

HTH

山姆

+0

好吧,我只是试着改变了一些设置 - 当我将Javadoc命令从Java 1.8(C:\ Java \ jre1,8.0_65 \ bin \ javadoc.exe)更改为所有其他的一样,我能够得到这个错误。我曾尝试JDK 1.6和1.7,他们工作得很好。我刚刚在yworks页面上注意到,https://www.yworks.com/en/products_ydoc.html;他们只提到1.7。所以,我猜混合Java 1.8与YDOC是你的问题。 – SamV

相关问题