2017-04-13 7 views
0

나는karaf Custom Distribution에 번들을 추가하려면 어떻게합니까? <code><bundle>wrap:mvn:com.google.code.gson/gson/2.8.0</bundle></code> TI는 배포 rhis :

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

    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.me</groupId> 
    <artifactId>root-karaf</artifactId> 
    <packaging>karaf-assembly</packaging> 
    <name>${project.artifactId}</name> 
    <version>4.0.4</version> 
    <dependencies> 
     <dependency> 
      <groupId>org.apache.karaf.features</groupId> 
      <artifactId>framework</artifactId> 
      <version>4.0.4</version> 
      <type>kar</type> 
     </dependency> 

     <dependency> 
      <groupId>org.apache.karaf.features</groupId> 
      <artifactId>standard</artifactId> 
      <version>4.0.4</version> 
      <classifier>features</classifier> 
      <type>xml</type> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.karaf.tooling</groupId> 
       <artifactId>karaf-maven-plugin</artifactId> 
       <version>4.0.4</version> 
       <extensions>true</extensions> 
       <configuration> 
        <!-- no startupFeatures --> 
        <startupFeatures> 

        </startupFeatures> 

        <installedFeatures> 
        </installedFeatures> 
        <bootFeatures> 
         <feature>standard</feature> 
         <feature>eventadmin</feature> 
         <feature>scr</feature> 
        </bootFeatures> 

        <excludedArtifactIds> 
         <artifactId>slf4j-api</artifactId> 
        </excludedArtifactIds> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

이 지금은 예를 번들을 작성하고이 배포에 추가하거나, 예를 들어이를 추가 할 karaf 사용자 정의 배포를 만듭니다. 나는이 thried :

<bootFeatures> 
         <feature>standard</feature> 
         <feature>eventadmin</feature> 
         <feature>scr</feature> 
         <bundle>wrap:mvn:com.google.code.gson/gson/2.8.0</bundle> 
        </bootFeatures> 

을하지만 니트 작업

나는 feature.xml을을 만들고 AFAIK 당신이 <bootFeatures>에 직접 번들을 추가 할 수있는 자원

<?xml version="1.0" encoding="UTF-8"?> 
<features xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="platform-features" 
      xmlns="http://karaf.apache.org/xmlns/features/v1.0.0" 
      xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.0.0 http://karaf.apache.org/xmlns/features/v1.0.0"> 

    <feature name="platform" version="${project.version}" install="auto"> 
     <details>Service Platform</details> 
     <feature>test</feature> 
    </feature> 


    <feature name="test" version="4.0.4" install="auto"> 
     <bundle>mvn:com.google.code.gson/gson/2.8.0</bundle> 
    </feature> 
</features> 

답변

0

에 넣어. 이 번들이 포함 된 고유 한 기능을 만들어이 기능을 bootFeatures에 추가해야합니다. 또한 기능을 만들 때 wrap: 부분이 필요하지 않습니다! gson 2.8은 이미 OSGi 번들입니다!

+0

감사합니다. kep! futures.xml을 만들었습니다. 어디에서 파일 (파일 자체)을 넣고 어떻게 연결하고 구성하여이 미래에서 번들을 어셈블리로 가져갈 수 있습니까? – user5620472

+0

기능이있는 다른 모듈을 작성하여 종속성 목록에 종속성으로 추가하고, 부트 기능 목록에 기능의 이름을 추가 한 다음, 세트 –