Java 无法解析1.0:缺少需求[1.0]osgi.wiring.package;(&;(osgi.willing.package)=
我正在尝试启动我的一个捆绑包,但一旦启动它,就会出现以下异常。我不确定问题出在哪里Java 无法解析1.0:缺少需求[1.0]osgi.wiring.package;(&;(osgi.willing.package)=,java,osgi,apache-felix,osgi-bundle,Java,Osgi,Apache Felix,Osgi Bundle,我正在尝试启动我的一个捆绑包,但一旦启动它,就会出现以下异常。我不确定问题出在哪里 org.osgi.framework.BundleException: Unresolved constraint in bundle GoldeneyeModellingFramework [1]: Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (&(osgi.wiring.package=com.host.d
org.osgi.framework.BundleException: Unresolved constraint in bundle GoldeneyeModellingFramework [1]: Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (&(osgi.wiring.package=com.host.domain.sharedpersonalize.storageservice)(version>=1.0.0)(!(version>=2.0.0)))
at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3974)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2037)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:955)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:942)
at com.host.personalize.bullseye.InitializeOSGiFramework.installAndStartBundle(InitializeOSGiFramework.java:217)
at com.host.personalize.bullseye.InitializeOSGiFramework.getBundlesInformation(InitializeOSGiFramework.java:167)
at com.host.personalize.bullseye.InitializeOSGiFramework$1.run(InitializeOSGiFramework.java:92)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:452)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:328)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:161)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:109)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:192)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:216)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:897)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:919)
at java.lang.Thread.run(Thread.java:736)
让我来告诉你我是如何做到的——我已经按照这一点启动了一个OSGi框架,它工作得很好,但是一旦我启动了这个包,GoldeneyModelingFramework-
for (Bundle bundle : installedBundles) {
bundle.start();
}
并且,我在我的主项目中使用了下面的依赖项,该项目启动了一个OSGi框架/容器:
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-mvn</artifactId>
<version>1.3.6</version>
</dependency>
下面是GoldeneyeModellingFramework
捆绑包的pom.xml
文件:
Manifest-Version: 1.0
Bnd-LastModified: 1377298131182
Build-Jdk: 1.6.0_26
Built-By: rjamal
Bundle-Activator: com.host.personalize.goldeneye.framework.activator.Activator
Bundle-Description: Managed dependencies and plugins across all Raptor applications.
Bundle-ManifestVersion: 2
Bundle-Name: GoldeneyeModellingFramework
Bundle-SymbolicName: GoldeneyeModellingFramework
Bundle-Version: 1.0.0
Created-By: Apache Maven Bundle Plugin
Export-Package: com.host.personalize.goldeneye.framework.activator;us
es:="org.osgi.framework,com.host.personalize.goldeneye.modelling.fra
mework,org.osgi.util.tracker";version="1.0.0",com.host.personalize.
goldeneye.modelling.framework;uses:="com.host.soaframework.common.except
ions,org.osgi.framework,com.host.domain.sharedpersonalize.storagese
rvice";version="1.0.0"
Import-Package: com.host.domain.sharedpersonalize.storageservice;ver
sion="[1.0,2)",com.host.soaframework.common.exceptions;version="[1.4,2)
",org.osgi.framework;version="[1.6,2)",org.osgi.util.tracker;version="[
1.5,2)"
Originally-Created-By: Apache Maven Bundle Plugin
ServicesURLStrategyVersion: 1.0.0-RELEASE
Tool: Bnd-1.50.0
X-Raptor-Source-Dir: S:\GitViews\GoldeneyeStream\GoldeneyeModellingFram
ework/src/main/webapp,S:\GitViews\GoldeneyeStream\GoldeneyeModellingFr
amework/src/main/resources,S:\GitViews\GoldeneyeStream\GoldeneyeModell
ingFramework
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- POM Information about the Project -->
<modelVersion>4.0.0</modelVersion>
<groupId>com.host.personalize.goldeneye.modelling.framework</groupId>
<artifactId>GoldeneyeModellingFramework</artifactId>
<version>1.0.0</version>
<!-- Packing Type is bundle for OSGI Library Bundle -->
<packaging>bundle</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.beans</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.cglib</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>4.3.0</version><!--$NO-MVN-MAN-VER$ -->
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>4.3.0</version><!--$NO-MVN-MAN-VER$ -->
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.host.personalize.goldeneye</groupId>
<artifactId>GoldeneyeStorageService</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<!-- Build Configration -->
<build>
<plugins>
<!-- Apache Felix Bundle Plugin - For Generation of Manifest after Compile
phase -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<!-- Configuration for generating the Manifest.mf -->
<configuration>
<manifestLocation>src/main/resources/META-INF</manifestLocation>
<!-- Manifest Headers which need to customized during manifest generation -->
<instructions>
<Bundle-SymbolicName>GoldeneyeModellingFramework</Bundle-SymbolicName>
<Bundle-Activator>com.host.personalize.goldeneye.framework.activator.Activator</Bundle-Activator>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
<!-- Configuration of repositories for dependency resolution -->
<repositories>
<!-- Raptor Bundles Repository -->
<!-- This is needed to locate the Raptor Parent project. Other repositories
come from the parent. -->
<repository>
<id>releases</id>
<url>http://nxraptor/content/repositories/releases/</url>
<releases>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>thirdparty</id>
<url>http://nxraptor/content/repositories/thirdparty/</url>
<releases>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</project>
错误消息表示您的捆绑包
GoldeneyeModellingFramework
导入包com.host.domain.sharedpersonalize.storageservice
,但没有捆绑包导出该包。因此无法解析导入
您说过bundle
GoldeneyeStorageService
“包括”该软件包,但“包括”什么呢意思是??您需要导出此软件包,即在导出软件包的标题中列出。如果该软件包包含在该软件包中,但未导出,则该软件包是私人软件包,无法由任何其他软件包导入。感谢尼尔的建议。通过包含,我的意思是,我正在GoldeneyeStorag中使用该软件包电子服务项目。我已经用GoldeneyeStorageService项目的MANIFEST.MF文件更新了我的问题。我认为该包已经存在于GoldeneyeStorageService项目的导出包头中……如果我是对的,您是说该包应该在GoldeneyeStorageService MANIFEST.MF文件中导出?如果我错了,请纠正我。。是的。从粗略的扫描来看,该清单看起来不错。该捆绑包是否已在框架中安装和解决?我猜您的问题的答案将是否。这意味着,我需要先安装GoldeneyeStorageService捆绑包,然后我应该试着安装GoldeneyeModelingFramework?Bcoz现在,我没有安装GoldeneyeStorageServicece bundle,我只是将其用作goldeneyemodelingframework pom.xml文件中的maven依赖项。如果我尝试先安装GoldeneyeStorageService项目,则不同的包会出现相同的异常。您确实需要将它们都作为bundle安装,但顺序并不重要。如果不同的包出现相同的异常,则n这意味着您需要一个导出这些软件包的捆绑包。如果订单不重要,那么当我尝试安装GoldeneyeModelingFramework时,为什么它首先不起作用,而且该软件包已经在GoldeneyeStorageService项目中导出?我将很快就在尝试安装GoldeneyeStorageS时提出一个新问题首先是服务包,然后它为不同的包提供了相同的例外。我理解你刚才所说的全部要点,但在这种例外情况下,我不确定我还能做些什么。当你经历这些时,它会有意义的。。
Manifest-Version: 1.0
Bnd-LastModified: 1377333824248
Build-Jdk: 1.6.0_26
Built-By: rjamal
Bundle-Description: Managed dependencies and plugins across all Raptor a
pplications.
Bundle-ManifestVersion: 2
Bundle-Name: GoldenlseyeStorageService
Bundle-SymbolicName: GoldenlseyeStorageService
Bundle-Version: 1.0.0
Created-By: Apache Maven Bundle Plugin
Export-Package: com.host.domain.sharedpersonalize.storageservice;use
s:="com.host.soaframework.common.exceptions,com.host.marketplace.servic
es.storageservice,com.host.personalize.services.storage.consumer.ge
n,com.host.personalize.services.storage.consumer,com.host.soaframew
ork.sif.service,com.host.marketplace.services,com.host.kernel.logger";v
ersion="1.0.0",com.host.marketplace.services.storageservice;uses:="java
x.xml.bind.annotation,com.host.marketplace.services,javax.activation";v
ersion="1.0.0",com.host.personalize.services.storage.consumer;uses:
="javax.xml.ws,com.host.marketplace.services.storageservice";version="1
.0.0",com.host.personalize.services.storage.consumer.gen;uses:="com
.host.soaframework.common.exceptions,com.host.personalize.services.
storage.consumer,com.host.soaframework.sif.impl.internal.service,com.eb
ay.soaframework.sif.service,javax.xml.ws,com.host.marketplace.services.
storageservice,com.host.soaframework.common.types,com.host.soaframework
.common.impl.internal.schema,javax.xml.namespace,com.host.soaframework.
common.registration";version="1.0.0"
Import-Package: com.host.kernel.logger;version="[1.19,2)",com.host.marke
tplace.services;version="[1.7,2)",com.host.soaframework.common.exceptio
ns;version="[1.4,2)",com.host.soaframework.common.impl.internal.schema;
version="[1.4,2)",com.host.soaframework.common.registration;version="[1
.4,2)",com.host.soaframework.common.types;version="[1.4,2)",com.host.so
aframework.sif.impl.internal.service;version="[1.4,2)",com.host.soafram
ework.sif.service;version="[1.4,2)",javax.activation,javax.xml.bind.ann
otation,javax.xml.namespace,javax.xml.ws
ServicesURLStrategyVersion: 1.0.0-RELEASE
Tool: Bnd-1.50.0
X-Raptor-Source-Dir: S:\GitViews\GoldenlseyeStream\GoldenlseyeStorageServic
e/src/main/webapp,S:\GitViews\GoldenlseyeStream\GoldenlseyeStorageService/
src/main/resources,S:\GitViews\GoldenlseyeStream\GoldenlseyeStorageService