我有一个使用Spring的Java Web应用程序,运行在Glassfish 3.1.2中,我正在尝试将其转换为OSGi架构。
我从下载Gemini blueprint并将jars复制到Glassfish中的autodeploy/bundle目录开始,在这一点上,我收到了许多关于缺少需求的错误,例如:
[#|2012-10-24T12:58:07.176 0500|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_Thread
ID=18;_ThreadName=Thread-5;|org.osgi.framework.BundleException:
Unresolved constraint in bundle org.eclipse.gemini.blueprint.core [258]:
Unable to resolve 258.1: missing requirement [258.1] osgi.wiring.package; (&(osgi.wiring.package=org.aopalliance.aop)(version>=0.0.0))org.apache.commons.logging和其他类似的错误。
我读了很多关于OSGi和Glassfish的文章,但我找不到任何为Glassfish创建OSGi spring应用程序的例子,所以我猜我可能做错了什么。
任何人都知道我所做的是否正确,如果是的话,如何解决这些问题。
发布于 2012-10-25 02:32:46
看起来你正试图在glassfish中运行osgi容器。如果是这样的话,您必须使用或编写一种osgi引导程序来启动osgi容器。它应该使用必要的捆绑包启动osgi容器,这是osgi容器为下一个要部署的捆绑包做准备的最小设置。
更新答案:根据错误消息,您的Gemini包似乎需要容器中尚未提供的包。在部署Gemini之前,您需要弄清楚它从其他捆绑包中导入的包/类是什么,并安装和启动它们。您可以通过检查Gemini包的清单来完成此操作
https://stackoverflow.com/questions/13055388
复制相似问题