2012-02-15 3 views
1

Я пытаюсь подключить базу данных oracle, используя org.springframework.jdbc.core.JdbcTemplate в пакете OSGI. При развертывании сверток в ServiceMix, он показывает ошибкуОтсутствует пакет требований в пакете OSGI

org.osgi.framework.BundleException: неразрешенное ограничение в пачке My Second Service [376]: Невозможно решить 376,0: недостающее требование пакет [376,0]; (Упаковка = org.springframework.jdbc.core)

А вот мой ПОМ файл

<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 пакет.

1

Jignesh, это может быть стоит посмотреть:

Скачать эту банку с ebr.springsource.com:

Поскольку вы находитесь в среде OSGi, вы также потребуются другие пакеты, такие как org.springframework.osgi.coreorg.springframework.osgi.io и org.springframework.osgi.extender. Этим также потребуются дополнительные пакеты, такие как org.apache.commons. Возможно, вам придется немного поиграть с MANIFEST.MF, чтобы соответствовать версиям, чтобы запустить его.

Посмотрите на this tutorial, чтобы получить представление: я смог импортировать и запускать это.

Примечание * На данный момент я делаю эту интеграцию вручную ... Надеюсь использовать maven, поскольку все станет понятным для меня.

Смежные вопросы