Java XHTML Doclet: фатальное исключение
Кто-нибудь использовал XHTML Doclet, и можете ли вы дать несколько советов о том, как заставить его работать успешно?
Я запускаю это так:
\sunjdk\bin\javadoc -doclet net.sourceforge.xhtmldoclet.Doclet
-docletpath c:\sw\java\XHTML_Doclet_0.4.jar -d <output>
[class files here]
(все в одной строке)
Когда я запускаю его, я получаю это:
javadoc: error - In doclet class net.sourceforge.xhtmldoclet.Doclet, method validOptions has thrown an exception java.lang.reflect.InvocationTargetException
java.lang.Error: Fatal: Resource (net.sourceforge.xhtmldoclet.resources.doclet) for javadoc doclets is missing.
at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.getText(MessageRetriever.java:110)
at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.getText(MessageRetriever.java:92)
at com.sun.tools.doclets.internal.toolkit.util.MessageRetriever.getText(MessageRetriever.java:81)
at com.sun.tools.doclets.internal.toolkit.Configuration.getText(Configuration.java:634)
at com.sun.tools.doclets.internal.toolkit.Configuration.generalValidOptions(Configuration.java:515)
at net.sourceforge.xhtmldoclet.Config.validOptions(Unknown Source)
at net.sourceforge.xhtmldoclet.Doclet.validOptions(Unknown Source)
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:269)
at com.sun.tools.javadoc.DocletInvoker.validOptions(DocletInvoker.java:198)
at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:317)
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 error
Кажется, это должно сработать. Что я делаю неправильно?
2 ответа
Решение
XhtmlDoclet, похоже, содержит ошибку в обработке ресурсов. Я отправил сообщение об ошибке и патч, чтобы исправить это здесь: https://sourceforge.net/tracker/?func=detail&aid=3006429&group_id=199009&atid=967765
Ошибка возникает, когда доклет пытается вывести видимый пользователю текст, поэтому он, вероятно, пытается напечатать сообщение об ошибке, которое вы не видите из-за ошибки.
\sunjdk\bin\javadoc -classpath c:\sw\java\XHTML_Doclet_0.4.jar
-doclet net.sourceforge.xhtmldoclet.Doclet
-docletpath c:\sw\java\XHTML_Doclet_0.4.jar -d <output>
[class files here]
все на одной линии