Osgi 在Felix上部署活动MQ Web控制台

Osgi 在Felix上部署活动MQ Web控制台,osgi,activemq,embedded-jetty,apache-felix,web-console,Osgi,Activemq,Embedded Jetty,Apache Felix,Web Console,我有一个简单的基于Felix的OSGI环境,在这个环境上我部署了一个包,它有一个嵌入式ActiveMQ代理。我希望在同一OSGI环境上部署另一个捆绑包,该捆绑包应具有一个嵌入式jetty,ActiveMQ Web控制台War文件将部署在该jetty上。 我尝试生成嵌入式jetty并将war文件作为此捆绑包的一部分进行部署(bundleActivator启动方法),但它给了我以下异常- Caused by: java.lang.ClassNotFoundException: javax.servl

我有一个简单的基于Felix的OSGI环境,在这个环境上我部署了一个包,它有一个嵌入式ActiveMQ代理。我希望在同一OSGI环境上部署另一个捆绑包,该捆绑包应具有一个嵌入式jetty,ActiveMQ Web控制台War文件将部署在该jetty上。 我尝试生成嵌入式jetty并将war文件作为此捆绑包的一部分进行部署(bundleActivator启动方法),但它给了我以下异常-

Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:431)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:393)
我在bundle类路径中有Servlet API jar(导入了包,并在bundle部署时解析)。我还注意到activemq-web-console-5.10.0.war文件的lib文件夹也包含Servlet API jar

因此,我认为可能是因为Servlet API jar的重复,它引发了这个异常,并从我的包类路径中删除了Servlet API jar(删除了导入,也尝试了取消部署导出该包的包),但在这种情况下,我的包没有部署,我收到了连接异常(因为Jetty依赖显然需要这个jar)

我不想再次解包打包war文件并重试

请注意:这个war文件成功地部署在Karaf上,但我无法使用我自己的Felix启动器将它部署在基于PlainFelix的OSGiEnv上

请帮忙

编辑

包含嵌入式jetty的捆绑包得到部署,但当我启动它时,jetty启动(部署war文件)时,会抛出上述异常


结束编辑,从头开始重建卡拉夫? 无论如何,您需要一个与felix环境一起运行的webcontainer来运行web控制台。 因此,您需要运行FelixHTTP服务或PaxWeb包(如Karaf)。 接下来,您将偶然发现一个令人满意且简单的日志记录。这需要您自己创建或部署Pax日志记录包(同样是在Karaf中)。 有什么理由不坚持使用Karaf,因为您拥有所有可用的基础架构捆绑包