gpt4 book ai didi

java - 启动 bundle org.eclipse.jetty.osgi.boot 时出错(Eclipse 中的 OSGi 框架)

转载 作者:行者123 更新时间:2023-12-01 08:55:02 24 4
gpt4 key购买 nike

我在 Eclipse 中运行 OSGi 项目。在将新方法添加到 REST channel (应该生成 JSON)之后,我得到了以下堆栈跟踪,表明捆绑 org.eclipse.jetty.osgi.boot 无法启动。

[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.eclipse.jetty.osgi.boot - BundleEvent STOPPING - org.eclipse.jetty.osgi.boot
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.aries.blueprint.container.BlueprintExtender - Starting BlueprintContainer destruction process for bundle org.eclipse.jetty.osgi.boot/9.4.0.v20161208
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.aries.blueprint.container.BlueprintExtender - Not a blueprint bundle or destruction of BlueprintContainer already finished for org.eclipse.jetty.osgi.boot/9.4.0.v20161208.
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.aries.blueprint.container.BlueprintExtender - Starting BlueprintContainer destruction process for bundle org.eclipse.jetty.osgi.boot/9.4.0.v20161208
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.aries.blueprint.container.BlueprintExtender - Not a blueprint bundle or destruction of BlueprintContainer already finished for org.eclipse.jetty.osgi.boot/9.4.0.v20161208.
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.eclipse.jetty.osgi.boot - BundleEvent STOPPED - org.eclipse.jetty.osgi.boot
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.eclipse.persistence.moxy - BundleEvent STARTING - org.eclipse.persistence.moxy
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.aries.blueprint.container.BlueprintExtender - Scanning bundle org.eclipse.persistence.moxy/2.6.4.v20160829-44060b6 for blueprint application
[Framework Event Dispatcher: org.eclipse.osgi.internal.framework.EquinoxEventPublisher@7946e1f4] ERROR org.eclipse.jetty.osgi.boot - FrameworkEvent ERROR - org.eclipse.jetty.osgi.boot
org.osgi.framework.BundleException: Exception in org.eclipse.jetty.osgi.boot.JettyBootstrapActivator.start() of bundle org.eclipse.jetty.osgi.boot.
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:795)
at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:724)
at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:932)
at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:309)
at org.eclipse.osgi.container.Module.doStart(Module.java:581)
at org.eclipse.osgi.container.Module.start(Module.java:449)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1620)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1600)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1571)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1514)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
Caused by: java.lang.NullPointerException
at org.eclipse.jetty.osgi.boot.internal.serverfactory.DefaultJettyAtJettyHomeHelper.startJettyAtJettyHome(DefaultJettyAtJettyHomeHelper.java:134)
at org.eclipse.jetty.osgi.boot.JettyBootstrapActivator.start(JettyBootstrapActivator.java:82)
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:774)
at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:767)
... 12 more
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.aries.blueprint.container.BlueprintExtender - No blueprint application found in bundle org.eclipse.persistence.moxy/2.6.4.v20160829-44060b6
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.eclipse.persistence.moxy - BundleEvent STARTED - org.eclipse.persistence.moxy
[Start Level: Equinox Container: 2f378d23-3439-4e9f-98a1-7d4720e478a8] DEBUG org.apache.felix.coordinator - BundleEvent STARTING - org.apache.felix.coordinator

GrepCode 引导我使用以下代码:
        for (Bundle b : bundleContext.getBundles())
{
if (b.getState() == Bundle.UNINSTALLED)
continue;

if (b.getSymbolicName().equals(jettyHomeBundleSysProp))
{
jettyHomeBundle = b;
break;
}
}

它看起来像 b变量将为空。但是,我不知道这会给我带来什么。

方法注释是很无辜的:
@POST()
@Path("update")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)

但是,我没有看到它们与错误之间的联系,因为在添加方法后,我在 MoXy 中得到了 ClassNotFoundException :
Caused by: java.lang.NoClassDefFoundError: javax/json/JsonException
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.getNewXMLReader(SAXUnmarshaller.java:209)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.getXMLReader(SAXUnmarshaller.java:197)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:452)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:400)
at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:741)
at org.eclipse.persistence.internal.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:649)
at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:349)
at org.eclipse.persistence.jaxb.rs.MOXyJsonProvider.readFrom(MOXyJsonProvider.java:668)

然后我添加了 org.glassfish.javax.json:1.0.4运行配置,我遇到了 jetty 初始化程序的问题。现在错误仍然存​​在,即使在删除了导致初始问题的 json 包和带有 REST channel 的包之后也是如此。

什么可能导致错误,我该怎么办?

最佳答案

我看起来像 Eclipse 错误。

我得去目录$workspace/.metadata/.plugins/org.eclipse.pde.core并删除我的启动配置目录(在我的例子中, OSGI-Launch )。

看来我不必要地打扰了小组。我应该采用经典的 Eclipse 方式:如果某些东西停止工作,请创建一个新工作区。或者删除特定插件的缓存。但是,我希望这篇文章将来仍然对某人有用。

关于java - 启动 bundle org.eclipse.jetty.osgi.boot 时出错(Eclipse 中的 OSGi 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42086107/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com