我试图用bndool编写一个OSGI REST包。
我在cnf项目中添加了我需要的所有罐。然后我把它们添加到捆绑包构建路径中。
我得到以下运行时异常
OSGi捆绑包未启动:缺少需求osgi.wiring.package(
我不明白这个错误,因为我使用了javax.ws.rs-api 2.0.1。
我试图在构建路径中明确指定版本,如下所示
-buildpath: \
javax.ws.rs-api;version2.0.1 \
没有任何运气。
我用错罐子了吗?
非常感谢。
这是我的bnd
-buildpath: \
osgi.annotation,\
osgi.core,\
osgi.cmpn,\
org.apache.felix.dependencymanager,\
com.google.guava,\
lmca.ps.util;version=latest,\
lmca.ps.infrastructure;version=latest,\
org.ops4j.pax.logging.pax-logging-api,\
com.fasterxml.jackson.core.jackson-annotations,\
com.fasterxml.jackson.core.jackson-core,\
com.fasterxml.jackson.core.jackson-databind,\
com.fasterxml.jackson.jaxrs.jackson-jaxrs-base,\
com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider,\
com.fasterxml.jackson.module.jackson-module-jaxb-annotations,\
org.eclipse.jetty.alpn.server,\
org.eclipse.jetty.annotations,\
org.eclipse.jetty.cdi.core,\
org.eclipse.jetty.cdi.servlet,\
org.eclipse.jetty.cdi.websocket,\
org.eclipse.jetty.client,\
org.eclipse.jetty.continuation,\
org.eclipse.jetty.deploy,\
org.eclipse.jetty.gcloud.session,\
org.eclipse.jetty.http,\
org.eclipse.jetty.infinispan,\
org.eclipse.jetty.io,\
org.eclipse.jetty.jaas,\
org.eclipse.jetty.jmx,\
org.eclipse.jetty.jndi,\
org.eclipse.jetty.memcached.session,\
org.eclipse.jetty.nosql,\
org.eclipse.jetty.plus,\
org.eclipse.jetty.proxy,\
org.eclipse.jetty.quickstart,\
org.eclipse.jetty.rewrite,\
org.eclipse.jetty.schemas,\
org.eclipse.jetty.security,\
org.eclipse.jetty.security.jaspi,\
org.eclipse.jetty.server,\
org.eclipse.jetty.servlet,\
org.eclipse.jetty.servlets,\
org.eclipse.jetty.unixsocket,\
org.eclipse.jetty.util,\
org.eclipse.jetty.webapp,\
org.eclipse.jetty.xml,\
org.glassfish.hk2.api,\
org.glassfish.hk2.external.aopalliance-repackaged,\
org.glassfish.hk2.external.javax.inject,\
org.glassfish.hk2.locator,\
org.glassfish.hk2.osgi-resource-locator,\
org.glassfish.hk2.utils,\
org.glassfish.jersey.bundles.repackaged.jersey-guava,\
org.glassfish.jersey.containers.jersey-container-servlet,\
org.glassfish.jersey.containers.jersey-container-servlet-core,\
org.glassfish.jersey.core.jersey-client,\
org.glassfish.jersey.core.jersey-common,\
org.glassfish.jersey.core.jersey-server,\
org.glassfish.jersey.media.jersey-media-jaxb,\
javax.servlet-api,\
javax.annotation-api,\
javax.jms-api,\
javax.validation.api,\
jaxb-api,\
slf4j.api,\
org.osgi.service.log,\
org.ops4j.pax.logging.pax-logging-service,\
org.ops4j.pax.logging.pax-logging-logback,\
json,\
javax.ws.rs-api,\
persistence-api,\
javassist
-runfw: org.apache.felix.framework;version='[5.6.1,5.6.1]'
-runee: JavaSE/compact1-1.9
-runrequires: \
osgi.identity;filter:='(osgi.identity=org.apache.felix.dependencymanager.shell)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.dependencymanager)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.runtime)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.shell)',\
osgi.identity;filter:='(osgi.identity=com.google.guava)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.scr)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.fileinstall)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.configadmin)',\
osgi.identity;filter:='(osgi.identity=lmca.ps.util)',\
osgi.identity;filter:='(osgi.identity=lmca.ps.infrastructure)',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.log)',\
osgi.identity;filter:='(osgi.identity=org.ops4j.pax.logging.pax-logging-service)',\
osgi.identity;filter:='(osgi.identity=jaxb-api)'
-runbundles: \
ch.qos.logback.classic;version='[1.1.7,1.1.8)',\
ch.qos.logback.core;version='[1.1.7,1.1.8)',\
com.google.guava;version='[20.0.0,20.0.1)',\
org.apache.felix.configadmin;version='[1.8.12,1.8.13)',\
org.apache.felix.dependencymanager;version='[4.3.0,4.3.1)',\
org.apache.felix.dependencymanager.shell;version='[4.0.4,4.0.5)',\
org.apache.felix.gogo.command;version='[0.16.0,0.16.1)',\
org.apache.felix.gogo.runtime;version='[0.16.2,0.16.3)',\
org.apache.felix.gogo.shell;version='[0.10.0,0.10.1)',\
org.apache.felix.metatype;version='[1.1.2,1.1.3)',\
slf4j.api;version='[1.7.21,1.7.22)',\
org.apache.felix.fileinstall;version='[3.5.4,3.5.5)',\
org.apache.felix.scr;version='[2.0.6,2.0.7)',\
lmca.ps.util;version=snapshot,\
lmca.ps.infrastructure;version=snapshot,\
org.apache.felix.log;version='[1.0.1,1.0.2)',\
org.ops4j.pax.logging.pax-logging-api;version='[1.9.1,1.9.2)',\
org.ops4j.pax.logging.pax-logging-service;version='[1.9.1,1.9.2)'
Bundle-Name: foo.bar
Bundle-Description: Example bundle
-runvm: -Dfelix.fileinstall.dir=/home/bar\n\
-Dfelix.fileinstall.noInitialDelay=true\n\
-Dfelix.fileinstall.poll=1000\n\
-Dorg.ops4j.pax.logging.DefaultServiceLog.level=INFO
Bundle-Activator: foo.bar.Activator
Private-Package: foo.bar
完全错误是
could not resolve the bundles: [foo.bar-0.0.0 org.osgi.framework.BundleException: Unable to resolve foo.bar [19](R 19.0): missing requirement [foo.bar [19](R 19.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0))) Unresolved requirements: [[foo.bar [19](R 19.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))]
]
Failed to start bundle foo.bar-0.0.0, exception Unable to resolve foo.bar [19](R 19.0): missing requirement [foo.bar [19](R 19.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0))) Unresolved requirements: [[foo.bar [19](R 19.0)] osgi.wiring.package; (&(osgi.wiring.package=javax.ws.rs)(version>=2.0.0)(!(version>=3.0.0)))]
我不得不改变主意
-runee:JavaSE/compact1-1.9
到
-runee: JavaSE-1.8
我是Apache karaf和OSGI的新手。我正在尝试编写和运行一个非常简单的捆绑包。但是我在启动该捆绑包时遇到了这个错误: 执行命令时出错:在捆绑包上执行命令时出错:无法解析karaf[86](R 86.0):缺少需求[karaf[86](R 86.0)]osgi。装电线。包裹(osgi.wiring.package=bundle)未解决的需求:[[karaf[86](R 86.0)]osgi
问题内容: 我是OSGI的新手,我试图找出解决以下错误的方法 org.osgi.framework.BundleException:包org.foo.serviceBundle中未解决的约束[253]:无法解决253.0:缺少要求[253.0]包;未解决。(&(package = org.slf4j)(版本> = 1.6.0)(!(版本> = 2.0.0))) 我使用了Maven原型来生成包,并在
提前感谢您的帮助!我正在学习一个教程,当我尝试启动我在karaf中安装的捆绑包时,它不会启动...日志是: 20:12:18.713 错误 [Karaf 本地控制台用户 karaf] 执行命令 org.apache.karaf.shell.support.MultiException 时捕获异常:在捆绑包上执行命令时出错:启动捆绑包 157 时出错:无法解析 db-examplejpa [157]
我一直在努力遵循‘用OSGi构建模块化云应用’。在“创建第一个OSGi应用程序”一书的第3章中,作者描述了如何使用BNDtools在eclipse中创建一个带有服务的简单OSGi应用程序。 下面是我的类和配置的截图。 我面临的问题是 G!gogo:CommandNotFoundException:找不到命令:llb G! G! G! lb开始级别1 IDState级别名称
我有一个使用OSGi-(felix)、SpringDM、hibernate和maven的项目。当我安装捆绑包时,它是正常的,当我运行捆绑包id时的输出是: 这是我在启动此捆绑包时看到的: 这是我的beans.xml: 这是我的pom文件: 此外,在felix中存在一个完整的捆绑错误。
提前感谢。我有问题启动一个osgi捆绑包,它给出了这个错误消息:包/捆绑包将不安装。它编译,并构建好,当部署到Karaf时,它不会加载和抱怨丢失的布线包,看起来像是正在导出和导入。但是缺少一个版本id。 执行命令时出错:无法启动bundle mvn:com。通用电气。数字的passthru/passthrumt1。dataserviceimpl/1.0.1-SNAPSHOT在功能部件passthr