2015-09-28 88 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

相關問題