我正在尝试为Adobe构建一个osgi包,使用罗马生成RSS/Atom提要。这个包是用"maven- bundle -plugin ( felix )“构建的。我可以构建这个包,不会出现任何错误。但是当部署到CQ时,使用felix控制台我得到了一个错误,请找到下面的跟踪。
com.acme.wcm.cq.acme-corporate-services [310]: Unable to resolve 310.0: missing requirement [310.0] osgi.wiring.package; (osgi.wiring.package=oracle.xml.parser)) org.osgi.framework.BundleException: Unresolved constraint in bundle com.acme.wcm.cq.acme-corporate-services [310]: Unable to resolve 310.0: missing requirement [310.0] osgi.wiring.package; (osgi.wiring.package=oracle.xml.parser)
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3962)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2025)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)
at org.apache.felix.webconsole.internal.core.InstallHelper.doRun(InstallHelper.java:67)
at org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.doRun(BaseUpdateInstallHelper.java:89)
at org.apache.felix.webconsole.internal.core.BaseUpdateInstallHelper.run(BaseUpdateInstallHelper.java:121)
at java.lang.Thread.run(Unknown Source)在试图解决这个问题时,我们发现在罗马的pom中,在导入包部分中有对oracle.*的引用。
<Import-Package> oracle.*;resolution:=optional,org.jaxen*;resolution:=optional,org.jdom.*;resolution:=optional,*</Import-Package>因此,在我们的包中,如果我们在包的pom中添加了避免oracle依赖的指令,如
<Import-Package>!oracle.*</Import-Package> 它正在阻止所有其他所需的进口。在这种情况下,我们是否需要在“”部分中指定所有必需的导入?请给我们一些解决这个问题的建议。
谢谢和问候,桑
发布于 2014-04-17 19:08:47
您需要添加*以指示OSGi导入所有其他依赖项:
<Import-Package>!oracle.*,*</Import-Package>https://stackoverflow.com/questions/23137097
复制相似问题