提问人:user3804769 提问时间:10/25/2023 更新时间:10/25/2023 访问量:58
java 8:在模块路径或类路径上找不到 JAXB-API 的实现
java 8: Implementation of JAXB-API has not been found on module path or classpath
问:
我正在使用 Java 8。我正在将一个非常旧的应用程序从 WebLogic 迁移到 JBoss EAP 7.4,当我尝试打印 PDF 时,我遇到了错误:
Implementation of JAXB-API has not been found on module path or classpath
这个错误似乎是由以下原因引起的:所以我添加了com.sun.xml.bind:jaxb-osgi,javax.xml.bind:jaxb-api和com.sun.xml.bind:jaxb-impl,我一直缺少类,并添加了各种jaxb依赖项组合,但我一直遇到诸如.java.lang.ClassNotFoundException: com.sun.xml.bind.ContextFactory
NoClassDefFoundError: com/sun/xml/bind/ImplementationRegistry
我被困在这里了。
因此,我尝试切换到更现代的方法并遵循本指南,但现在我遇到了以下错误:class [Ljava.lang.Object; nor any of its super class is known to this context.
这可能是因为我试图编组的对象属于 Object 类,所以我无法对它使用注释@XmlRootElement。
基本上,我的打印服务类非常通用,需要在应用程序的不同部分使用。它看起来像这样:
Object bean = createBean(request, httpServlet);
FileOutputStream fos = new FileOutputStream(outputFile);
JAXBContext context = JAXBContext.newInstance(Object.class);
Marshaller m = context.createMarshaller();
m.marshal(bean, fos);
createBean 方法生成了一个 Object[] 数组,其中包含一系列对象。
如何生成此 PDF?有没有办法用@XmlRootElement注释对象?
答: 暂无答案
评论