2015-04-21 4 views
4

В настоящее время я работаю над приложением поверх OpenDaylight. Я хочу использовать ObjectDB.Maven + ODL osgi.wiring.package javax

Но я не могу активировать свой пакет.

[email protected]>bundle:diag 
ntf-impl (171) 
-------------- 
Status: Installed 
Unsatisfied Requirements: 
osgi.wiring.package; resolution:="mandatory"; filter:="(&(osgi.wiring.package=javax.jdo.annotations)(&(version>=3.1.0)(!(version>=4.0.0))))" 
osgi.wiring.package; resolution:="mandatory"; filter:="(&(osgi.wiring.package=javax.persistence))" 

Во MVN чистой установки

Unresolved constraint in bundle org.opendaylight.ntf.impl [205]: Unable to resolve 205.0: missing requirement [205.0] osgi.wiring.package; (&(osgi.wiring.package=javax.jdo.annotations)(version>=3.1.0)(!(version>=4.0.0))) 

Я просто вывесить вас мой pom.xml

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

    <parent> 
    <groupId>org.opendaylight.controller</groupId> 
    <artifactId>config-parent</artifactId> 
    <version>0.3.0-SNAPSHOT</version> 
    <relativePath/> 
    </parent> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.opendaylight.ntf</groupId> 
    <artifactId>ntf-impl</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>bundle</packaging> 
    <repositories> 
     <repository> 
      <id>objectdb</id> 
      <name>ObjectDB Repository</name> 
      <url>http://m2.objectdb.com</url> 
     </repository> 
    </repositories> 

    <dependencies> 
    <dependency> 
     <groupId>${project.groupId}</groupId> 
     <artifactId>ntf-api</artifactId> 
     <version>${project.version}</version> 
    </dependency> 
<dependency> 
    <groupId>javax.jdo</groupId> 
    <artifactId>jdo-api</artifactId> 
    <version>3.1</version> 
</dependency> 
     <dependency> 
    <groupId>javax.persistence</groupId> 
    <artifactId>persistence-api</artifactId> 
    <version>1.0.2</version> 
</dependency> 
    <dependency> 
      <groupId>com.objectdb</groupId> 
      <artifactId>objectdb</artifactId> 
      <version>2.4.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.mockito</groupId> 
     <artifactId>mockito-all</artifactId> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 

</project> 

Я пробовал много различных зависимостей. Кто-нибудь получил предложения о том, как я могу добиться этого?

ответ

2

Обязательно добавьте соответствующие узлы в features.xml внутри вашей функции, например, функции/src/main/features/features.xml.

У меня была ошибка зависимостей связки с javax.jms, которую я исправил, добавив зависимости bundle в feature.xml, как показано ниже.

<feature name='odl-odlmq' version='${project.version}' description='OpenDaylight :: odlmq'> 
<feature version='${mdsal.version}'>odl-mdsal-broker</feature> 
<feature version='${project.version}'>odl-odlmq-api</feature> 
<bundle>mvn:org.opendaylight.odlmq/odlmq-impl/${project.version}</bundle> 
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1</bundle> 
<bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1</bundle> 
</feature> 

Аналогичным образом добавьте соответствующие пакеты для javax.jdo в features.xml и создайте снова. Конструкция должна преуспеть в устранении ошибок.

Альтернативно, чтобы просто запустить этот запуск, вы можете построить с пропущенными тестами.

$ MVN чистой установка -DskipTests

Однако, в этом случае вам придется вручную установить зависимости позже из Karaf.