当前位置: 首页 > 知识库问答 >
问题:

在java se上使用felix运行weld osgi示例

微生信鸿
2023-03-14

我想做以下解决方案:Apache Felix Weld 2 . 2 . 10 . SP1 for Java SE。为此,我想运行焊接档案中的一个例子-焊接-OSGi-油漆。

我使用felix 4.6.1,java8,我有以下捆绑包,我安装并启动:

cdi-api.jar
javax.annotation-api-1.2.jar
javax.el-api-2.2.4.jar
javax.interceptor-api-1.2.jar
log4j-1.2.17.jar
ops4j-base-lang-1.5.0.jar
org.apache.felix.scr-1.8.2.jar
org.apache.servicemix.bundles.javax-inject-1_2.jar
org.osgi.compendium-4.3.1.jar
pax-cdi-api-0.8.0.jar
pax-cdi-extender-0.8.0.jar
pax-cdi-extension-0.8.0.jar
pax-cdi-spi-0.8.0.jar
pax-swissbox-core-1.8.0.jar
pax-swissbox-lifecycle-1.8.0.jar
pax-swissbox-tracker-1.8.0.jar
slf4j-api-1.7.6.jar
slf4j-log4j12-1.7.2.jar
weld-osgi-paint-api.jar
weld-osgi-paint-core.jar
weld-osgi-paint-square.jar
weld-osgi-paint-triangle.jar
weld-se-core.jar
weld-se.jar
xbean-bundleutils-3.18.jar

此外,我有以下额外的包

String SYSTEM_PACKAGES =
        "org.osgi.framework;version=\"1.8\"," +
        "org.osgi.service.packageadmin;version=\"1.8\","+
        "org.osgi.framework.wiring;version=\"1.8\","+
        "javax.swing,javax.management,javax.naming,javax.xml.parsers,"+
        "org.w3c.dom,org.xml.sax,org.xml.sax.helpers";
configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES, SYSTEM_PACKAGES);

我运行程序,这就是我得到的

org.osgi.framework。BundleException:无法启动碎片束。在org.apache.felix.framework.feix.startBundle(felix.java:1981)和org.apach.felix.frameworks.BundleImpl.start(BundleImpl.java:977)和org.apache.felix.framework.bundreimpl.start(BundleImpl.java:964)上

仅此而已。我做错了什么?

共有1个答案

董建茗
2023-03-14

您尝试启动的包之一是一个片段。可能无法启动片段包。它们只能被解决。

 类似资料:
  • Bundle-Name=系统包 Bundle-SymbolicName=org.apache.felix.framework Bundle-Version=4.1.0。快照 现在的问题是,我如何获得系统包中缺少的标准java包。

  • 我有,和Eclipse Maven项目。 包含: 接口。 IMyConfig的实现。 实现,具有属性。 "空"文件。 一个的实现,标记为。 一个类(和方法),初始化Weld SE并检索一个bean。 一个,其中在部分中列出。 现在,我运行类,并且成功地检索了bean(作为实例)。但是这样的实例在其属性中被注入了实例,而不是替代版本() 我正在使用Eclipse Luna M2Eclipse。 我做

  • 我在尝试使用Podman在RedHat 8上运行OpenMaptileServer时遇到问题。 这是我的开始脚本: 图像拉得很好,而且开始看起来很好。我可以执行 看看那个容器。一切看起来都很好。如果我用 我没有看到任何我认为是一个问题,但是当我试图击中主页http://localhost:8080,然后我得到站点未找到的错误。 我想这可能是防火墙的问题,所以我禁用了防火墙,但结果相同。我还通过安装

  • 我使用R命令安装了h2o。这促使我安装了Java的最新版本:版本16。一切都运行得很好——除了在发布时,h2o会唠叨我从h2o.ai网站安装最新版本的h2o,因为用CRAN下载打包的版本已经过时5个月了。 当我下载h2o版本3.32.0.5时,我无法用:我收到消息“仅支持Java 8…14,系统版本为16”。 Java14被列为有安全缺陷,所以我不想从Java16降级;相反,我想恢复到以前版本的h

  • java emmarun-jar helloworld.jar 我明白了: 线程“main”java.lang.noClassDeffounderror:emmarun中的异常由:java.lang.ClassNotFoundException:emmarun在java.net.urlClassLoader$1.run(urlClassLoader.java:217)在java.net.urlCl