Вот что я сделано:
- Я использовал Doclet API для создания объекта документации.
- Я использовал JAXBContext чтобы преобразовать этот объект документации в XML.
- Я упаковал свой проект в виде толстого JAR-файла, включая зависимости jakarta.xml.bind-api и jaxb-runtime .
Код: Выделить всё
javadoc -docletpath jouda/build/libs/jouda-all.jar \
-cp jouda/build/libs/jouda-all.jar \
-doclet nassermohamedit.jouda.gen.JoudaDoclet Test.java
Код: Выделить всё
Loading source file Test.java...
Constructing Javadoc information...
jakarta.xml.bind.JAXBException: Implementation of Jakarta XML Binding-API has not been found on module path or classpath.
- with linked exception:
[java.lang.ClassNotFoundException: org.glassfish.jaxb.runtime.v2.ContextFactory]
at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:250)
at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:238)
at jakarta.xml.bind.ContextFinder.find(ContextFinder.java:386)
at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:605)
at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:546)
at nassermohamedit.jouda.gen.XmlGenerator.generate(XmlGenerator.java:20)
...
Caused by: java.lang.ClassNotFoundException: org.glassfish.jaxb.runtime.v2.ContextFactory
Подробнее здесь: https://stackoverflow.com/questions/791 ... xml-bind-j