2013-08-24 43 views
6

Próbuję uruchomić jeden z moich paczek, ale jak tylko zacznę go, otrzymuję poniższy wyjątek. Nie jestem pewien, co jest problem.Nie można rozwiązać 1.0: brakujące wymagania [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) 

powiem ci jak ja robi to- ja uruchomiły ramy OSGi wykonując ten tutorial i działa dobrze, ale jak tylko zacznę zawiniątko, GoldeneyeModellingFramework-

for (Bundle bundle : installedBundles) { 
     bundle.start(); 
    } 

i Używam Zależność poniżej w moim głównym projekcie, który uruchamia framework/kontener 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> 

To zawsze daje mi powyższy wyjątek. Pakiet GoldeneyeModellingFramework zależy od projektu maven GoldeneyeStorageService, który obejmuje ten pakiet com.host.domain.sharedpersonalize.storageservice.

Poniżej znajduje się plik Manifest.MF dla GoldenModellingFramework wiązki:

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 

A poniżej jest plik pom.xml dla GoldeneyeModellingFramework wiązki:

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

Daj mi znać, jeśli potrzebujesz żadnych innych plików do GoldeneyeStorageService Maven projekt. Nie wiem, jak rozwiązać ten problem. Czy ktoś może mi w tym pomóc?

Niektóre Aktualizacja: -

Poniżej znajduje się plik MANIFEST.MF dla GoldeneyeStorageService projektu-

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 

Odpowiedz

7

komunikat o błędzie oznacza, że ​​wiązka GoldeneyeModellingFramework importuje pakiet com.host.domain.sharedpersonalize.storageservice ale bez tego pakietu wiązek eksport . Dlatego import nie może zostać rozwiązany.

Powiedziałeś, że pakiet GoldeneyeStorageService "zawiera" tę paczkę, ale co oznacza "zawiera"? Ten pakiet musi być wyeksportowany, tj. Wymieniony w nagłówku Export-Package. Jeśli pakiet jest zawarty w tym pakiecie, ale nie został wyeksportowany, jest to pakiet prywatny, którego nie można zaimportować za pomocą innego pakietu.

+0

Dziękuję Neilowi ​​za sugestię. Przez włączenie, mam na myśli, używam tego pakietu w projekcie GoldeneyeStorageService. Zaktualizowałem swoje pytanie za pomocą pliku MANIFEST.MF dla projektu GoldeneyeStorageService. I myślę, że pakiet jest już w nagłówku Export-Package w projekcie GoldeneyeStorageService ... Jeśli mam rację, mówisz, że ten pakiet powinien zostać wyeksportowany do pliku MANIFEST.MF GoldeneyeStorageService? Popraw mnie Jeśli się mylę .. – AKIWEB

+0

Tak. Ten manifest wygląda dobrze, od pobieżnego skanu. Czy ten pakiet jest zainstalowany i rozwiązany w ramach? –

+0

Myślę, że odpowiedź na twoje pytanie będzie No. Więc to znaczy, muszę najpierw zainstalować pakiet GoldeneyeStorageService, a następnie powinienem spróbować zainstalować GoldeneyeModellingFramework? Bcoz teraz, nie instaluję pakietu GoldeneyeStorageService i używam go jako zależnej od maven w pliku pom.xml GoldeneyeModellingFramework .. I jeśli najpierw spróbuję zainstalować projekt GoldeneyeStorageService, to otrzymuję ten sam wyjątek dla różnych pakietów. – AKIWEB