2012-02-15 5 views
1

OSGIバンドルでorg.springframework.jdbc.core.JdbcTemplateを使用してOracleデータベースを接続しようとしています。バンドル内の未解決の制約マイセカンドサービス[376]:376.0解決することができません:ServiceMixのバンドルを展開する場合、それはエラーOSGIバンドルの要件パッケージがありません

org.osgi.framework.BundleException示し不足している要件[376.0]のパッケージを、 (パッケージ= org.springframework.jdbc.core)

そして、ここに私のPOMファイルである

<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/maven-v4_0_0.xsd"> 

<modelVersion>4.0.0</modelVersion> 

<parent> 
    <groupId>com.my.service</groupId> 
    <artifactId>my-service</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <relativePath>../my-service/pom.xml</relativePath> 
</parent> 

<groupId>com.brodos.osgi</groupId> 
<artifactId>my-second-service</artifactId> 
<packaging>bundle</packaging> 
<version>0.0.1-SNAPSHOT</version> 

<name>My Second Service</name> 
<url>http://example.net</url> 

<dependencies> 
    <dependency> 
     <groupId>com.oracle</groupId> 
     <artifactId>ojdbc14</artifactId> 
     <version>10.2.0.3.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.6.4</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.camel</groupId> 
     <artifactId>camel-spring</artifactId> 
     <version>2.8.0-fuse-01-13</version> 
    </dependency> 
    <dependency> 
     <groupId>springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>1.2.1</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.felix</groupId> 
      <artifactId>maven-bundle-plugin</artifactId> 
      <extensions>true</extensions> 
      <version>1.4.3</version> 
      <configuration> 
       <instructions> 
        <Bundle-SymbolicName>My Second Service</Bundle-SymbolicName> 
        <Bundle-Description>My Second Service</Bundle-Description> 
        <Import-Package> 
         org.apache.servicemix.camel.nmr, 
         org.apache.servicemix.nmr.api, 
         org.apache.servicemix.nmr.api.event, 
         org.apache.servicemix.nmr.api.internal, 
         * 
        </Import-Package> 
        <Private-Package>com.test.osgi.*</Private-Package> 
        <Include-Resource>src/main/resources</Include-Resource> 
        <DynamicImport-Package>*</DynamicImport-Package> 
       </instructions> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

答えて

1

あなたはorg.springframework.jdbc.coreパッケージをエクスポートするバンドルをインストールする必要があります。 ebr.springsource.comから

ダウンロードこのjar:あなたがOSGi環境にあるので

は、あなたもorg.springframework.osgi.coreorg.springframework.osgi.ioorg.springframework.osgi.extenderのような他のバンドルが必要になります

1

Jigneshは、これは見て価値があるかもしれません。これらはまた、org.apache.commonsのようないくつかの追加バンドルを必要とします。 MANIFEST.MFを使ってバージョンを合わせて実行するようにしてください。

アイデアを得るには、this tutorialをご覧ください:これをインポートして実行できました。

注*現時点では、私は手動でこの統合を行っています...私はものが明らかになるので、私はmavenを使用したいと考えています。

関連する問題