I am trying to start one of my bundles, but as soon as I start it, I get
the below exception. I am not sure what the problem is.
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)
Let me tell you how I am doing it- I have launched an OSGi framework by
following this tutorial
<http://njbartlett.name/2011/03/07/embedding-osgi.html>and it works fine,
but as soon as I start the bundle, GoldeneyeModellingFramework-
for (Bundle bundle : installedBundles) {
bundle.start();
}
And, I am using the dependency below in my main project which launches an
OSGi framework/container:
<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>
It always give me the above exception. The Bundle
`GoldeneyeModellingFramework` depends on the maven project
`GoldeneyeStorageService` which includes this package
`com.host.domain.sharedpersonalize.storageservice`.
Below is the `Manifest.MF` file for `GoldenModellingFramework` bundle:
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
And, below is the `pom.xml` file for `GoldeneyeModellingFramework` bundle:
<?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>
Let me know if you need any other files for `GoldeneyeStorageService` maven
project. I am not sure how to fix this problem. Can anyone help me with
this?