Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jaxb 未找到Jakarta XML绑定API的实现?_Jaxb_Osgi_Bnd - Fatal编程技术网

Jaxb 未找到Jakarta XML绑定API的实现?

Jaxb 未找到Jakarta XML绑定API的实现?,jaxb,osgi,bnd,Jaxb,Osgi,Bnd,我的背景: BND(带有eclipseide的bndtools) OSGI(-runfw:org.eclipse.OSGI;版本='[3.16.100.v2020130-1916,3.16.200.v202026-1447]) runee:JavaSE-1.8 在bnd.launch文件中: 根本不使用任何POM.xml文件 当我启动应用程序时,我得到一个 如果我添加org.glassfish.jaxb.runtime;版本=“[3.0.1,3.0.2]” 对于runbundle

我的背景:

  • BND(带有eclipseide的bndtools)

  • OSGI(-runfw:org.eclipse.OSGI;版本='[3.16.100.v2020130-1916,3.16.200.v202026-1447])

  • runee:JavaSE-1.8

  • 在bnd.launch文件中:

  • 根本不使用任何POM.xml文件
当我启动应用程序时,我得到一个

如果我添加
org.glassfish.jaxb.runtime;版本=“[3.0.1,3.0.2]”
对于runbundles列表,它不会更改任何内容(相同的异常)。 然后,如果我向bnd.launch文件中添加
-runpath:org.glassfish.jaxb.runtime;version='[3.0.1,3.0.2)
:它也不会更改任何内容(相同的异常)

我做错了什么??
感谢您是在Java 1.9或更高版本上运行的吗?(错误消息涉及模块路径)。问题可能是JAXB在更高版本中不再从JVM导出。这将导致glassfish的类加载失败,有时无法说明根本原因


您可以添加
-runvm-v:class
以获得有关类加载的更多信息。

谢谢您的建议:)我应该更仔细地阅读jaxb站点。我运行java 8,因此jaxb位于rt.jar中;我只需在代码中导入javax.xml.xxxx(没有jakarta.xml.xxx),并在我的bnd中撤消对任何jakarta.xml.xxx的所有引用。启动:(这是有效的。为噪音感到抱歉。顺便说一句,我有一个
无法识别的选项:-v:class错误:无法创建Java虚拟机。错误:发生了致命的异常。程序将退出。
Its-verbose:classI应该仔细阅读jaxb站点。我运行Java 8,所以jaxb在rt.jar中;我只需要导入javax.xml.xxxx(没有jakarta.xml.xxx)并在我的bnd.launch中撤销对任何jakarta.xml.xxx的所有引用:(它工作正常。很抱歉发出噪音。
-runbundles: \
  org.apache.felix.gogo.command;version='[1.1.2,1.1.3)',\
  org.apache.felix.gogo.runtime;version='[1.1.4,1.1.5)',\
  org.apache.felix.gogo.shell;version='[1.1.4,1.1.5)',\
  org.apache.commons.commons-fileupload;version='[1.4.0,1.4.1)',\
  org.apache.commons.commons-io;version='[2.8.0,2.8.1)',\
  org.apache.felix.webconsole;version='[4.6.0,4.6.1)',\
  org.apache.felix.http.jetty;version='[4.1.6,4.1.7)',\
  org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
  org.apache.felix.scr;version='[2.1.24,2.1.25)',\
  org.eclipse.equinox.cm;version='[1.5.0,1.5.1)',\
  org.eclipse.equinox.console;version='[1.4.300,1.4.301)',\
  org.eclipse.equinox.device;version='[1.1.100,1.1.101)',\
  org.eclipse.osgi.services;version='[3.10.0,3.10.1)',\
  org.eclipse.osgi.util;version='[3.6.0,3.6.1)',\
  ch.qos.logback.classic;version='[1.2.3,1.2.4)',\
  ch.qos.logback.core;version='[1.2.3,1.2.4)',\
  org.apache.felix.logback;version='[1.0.2,1.0.3)',\
  slf4j.api;version='[1.7.30,1.7.31)',\
  com.sun.activation.jakarta.activation;version='[2.0.1,2.0.2)',\
  jakarta.xml.bind-api;version='[3.0.1,3.0.2)',\
  com.sun.xml.bind.jaxb-osgi;version='[3.0.1,3.0.2)'
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:255)
  at jakarta.xml.bind.ContextFinder.newInstance(ContextFinder.java:243)
  at jakarta.xml.bind.ContextFinder.find(ContextFinder.java:407)
  at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:691)
  at jakarta.xml.bind.JAXBContext.newInstance(JAXBContext.java:632)