2013-08-24 245 views
6

我想开始我的包之一,但只要我启动它,我得到以下例外。我不知道是什么问题。无法解决1.0:缺少需求[1.0] osgi.wiring.package; ((osgi.wiring.package =

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) 

让我告诉你我是如何在做它 - 我已经按照这个tutorial推出了OSGi框架,它工作正常,但只要我开始捆绑,GoldeneyeModellingFramework-

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取决于maven项目GoldeneyeStorageService其中包括此包com.host.domain.sharedpersonalize.storageservice

下面是Manifest.MF文件GoldenModellingFramework包:

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 

而且,下面是pom.xml文件GoldeneyeModellingFramework包:

<?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> 

让我知道如果你需要的任何其他文件为GoldeneyeStorageService行家项目。我不知道如何解决这个问题。谁能帮我这个?

一些更新: -

下面是GoldeneyeStorageService项目为

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 

回答

7

错误消息MANIFEST.MF文件意味着你的包GoldeneyeModellingFramework进口包装com.host.domain.sharedpersonalize.storageservice但没有捆绑出口那个包。因此导入无法解决。

你说捆绑GoldeneyeStorageService“包括”该包,但“包括”意味着什么?您需要此软件包为导出,即列在Export-Package标题中。如果该软件包包含在该软件包中但未导出,则该软件包是不能由任何其他软件包导入的私有软件包。

+0

感谢尼尔的建议。通过include,我的意思是,我在GoldeneyeStorageService项目中使用该包。我用GoldeneyeStorageService项目的MANIFEST.MF文件更新了我的问题。我认为这个包已经存在于GoldeneyeStorageService项目的Export-Package头文件中了......如果我是对的,你说这个包应该导出到GoldeneyeStorageService MANIFEST.MF文件中?纠正我如果我错了.. – AKIWEB

+0

是的。该清单看起来很好,只是粗略扫描。该软件包是否在框架中安装和解决? –

+0

我想你的问题的答案是否。所以这意味着,我需要先安装GoldeneyeStorageService捆绑,然后我应该尝试安装GoldeneyeModellingFramework? Bcoz现在,我没有安装GoldeneyeStorageService捆绑软件,我只是将它作为maven依赖在GoldeneyeModellingFramework pom.xml文件中。如果我尝试先安装GoldeneyeStorageService项目,那么我会得到相同的异常,以供不同的软件包使用。 – AKIWEB

相关问题