2014-10-07 3 views
1

Я получил это сообщение, когда я пытался установить пакет для Apache ServiceMix:Apache ServiceMix установка связки OSGI

Ошибка при выполнении команды: Ошибка установки расслоения: Невозможно запустить расслоение MVN: org.apache.karaf. shell/shell-sample/1.0-SNAPSHOT: неразрешенные минусы traint in bundle shell-sample [235]: невозможно разрешить 235.0: отсутствует требование [235.0] osgi.ee; ( & (osgi.ee = JavaSE) (версия = 1.8))

Это моя команда:

osgi:install -s mvn:org.apache.karaf.shell/shell-sample/1.0-SNAPSHOT 

Я не понимаю этого, Google не может дать мне ответ

Это мой 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"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>org.apache.karaf.shell</groupId> 
    <artifactId>shell-sample</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>bundle</packaging> 
    <name>shell-sample</name> 
    <url>http://maven.apache.org</url> 
    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 
    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.servicemix.specs</groupId> 
     <artifactId>org.apache.servicemix.specs.jsr311-api-1.1.1</artifactId> 
     <version>2.4.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.servicemix.specs</groupId> 
     <artifactId>org.apache.servicemix.specs.jaxb-api-2.2</artifactId> 
     <version>2.4.0</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.servicemix.bundles</groupId> 
     <artifactId>org.apache.servicemix.bundles.commons-httpclient</artifactId> 
     <version>3.1_7</version> 
    </dependency> 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <configuration> 
        <target>1.8</target> 
        <source>1.8</source> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.felix</groupId> 
       <artifactId>maven-bundle-plugin</artifactId> 
       <configuration> 
        <instructions> 
         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> 
         <Bundle-Description>${project.description}</Bundle-Description> 
         <Import-Package> 
          javax.wsdl, 
          javax.xml.bind, 
          javax.xml.bind.annotation, 
          javax.ws.rs, 
          javax.ws.rs.core, 
          org.springframework.beans.factory.config, 
          org.apache.commons.httpclient, 
          org.apache.commons.httpclient.methods 
         </Import-Package> 
         <Export-Package> 
          org.apache.karaf.shell.cxf.jaxrs 
         </Export-Package> 
        </instructions> 
        <target>1.8</target> 
        <source>1.8</source> 
       </configuration> 
      <version>2.5.3</version> 
      <extensions>true</extensions> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.3.2</version> 
       <configuration> 
        <mainClass>org.apache.karaf.shell.Service</mainClass> 
        <includePluginDependencies>false</includePluginDependencies> 
        <target>1.8</target> 
        <source>1.8</source> 
       </configuration> 
       <extensions>true</extensions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

Я пытаюсь изменить Java версии 1.5, 1.6, 1.7, но все тот же остроумие ошибка ч другой Java SE версии

Я использую Eclipse, Luna Java EE

ответ

2

Требование osgi.ee было введено в Maven плагина расслоения 2.5.0. Таким образом, самый простой способ избавиться от него - перейти на плагин 2.4.

Чтобы изменить версию Java-версии, на которую ссылается в требовании, вы должны использовать плагин maven-compiler и установить там целевые и исходные параметры. Вы не можете изменить версию java в конфигурации плагина maven.

+0

У меня есть maven-compiler-plugin в моем пом, но что дальше? Загрузите плагин 2.4 maven bundle? – amkz

+1

Просто настройте maven-compiler-plugin для java 1.7 и оставьте maven-bundle-plugin как есть. –

+0

Большое вам спасибо! После этого я добавляю org.apache.felix.gogo.runtime 1.0 и evrythink работает! – amkz

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