2016-09-09 7 views
0

com.jcraft.jzlib 실패 - 건물의 번들

내가이 오류에 대한 의존성 및 수출 패키지를 필요로 해결 될 수 없습니다. 누구든지이 의존성에 대해주고 패키지를 내보낼 수 있습니까?

답변

0

나는 mvnrepo에서 그룹 이름에 관한 전용 종속성을 찾을 수있는, 그래서 아마도 당신은

<dependency> 
    <groupId>com.jcraft</groupId> 
    <artifactId>jzlib</artifactId> 
    <version>1.1.3</version> 
</dependency> 
+0

- POM

샘플 - 그럼 당신은 제 3 자 패키지를 필요로 모듈 의존성 등이 프로젝트에서 생성 된 번들을 사용할 수 있습니다 그래서 그걸 찾을 수 있니? – shanmu

+1

@shanmu 저는 수년간 Maven을 사용해 왔지만, "수출 패키지"가 무엇을 의미하는지 알지 못합니다. – Gimby

+0

문제 없음 @GImby. 해결 방법이 있습니다. – shanmu

0

당신이해야하는 것은 정상적인 JAR 아닌 번들입니다가, 당신이 할 수있는 것은 랩입니다이 출발을 누락 될 수있다 이 항아리를 관련 내보내기 명령문이있는 사용자 정의 번들로 변환하십시오. 자신의 저장소 (넥서스, jfrog 등)에서이 번들을 호스팅하십시오.

사용자 지정 번들 작성에 대한 자세한 내용은 다른 게시물 Convert existing JAR to OSGi-bundle을 참조하십시오.

이러한 제 3 자 종속성이 여러 개인 경우에는 모든 제 3 자 종속성을 래핑하기 위해 별도의 maven pom 모듈을 생성하십시오. 내가 지금이 dependency.but 내가 치어 .XML 수출 패키지를 찾을 수 없습니다 coud 찾을

<?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> 
    <artifactId>com.myproject.dependencies</artifactId> 
    <packaging>bundle</packaging> 
    <name>Third Party Dependencies</name> 
    <description> 
     This project manages dependencies needed by Project bundles. 
    </description> 

    <parent> 
     <groupId>com.myproject.parent</groupId> 
     <artifactId><!--PARENT ARTIFACT ID --></artifactId> 
     <version><!--PARENT VERSION --></version> 
    </parent> 
    <properties> 
     <!-- Any properties needed --> 

    </properties> 
    <dependencies> 

     <!-- 3rd party dependencies | List all 3rd parties as dependencies--> 

     <!-- https://mvnrepository.com/artifact/com.jcraft/jzlib --> 
     <dependency> 
      <groupId>com.jcraft</groupId> 
      <artifactId>jzlib</artifactId> 
      <version>1.1.3</version> 
     </dependency> 
    </dependencies> 

    <!-- for packaging as an OSGi bundle, we use the maven-bundle-plugin --> 
    <!-- see http://felix.apache.org/site/maven-bundle-plugin-bnd.html for more info --> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.felix</groupId> 
       <artifactId>maven-bundle-plugin</artifactId> 
       <configuration> 
        <instructions> 
         <Export-Package> 
          com.myproject.dependencies.*, 
          com.jcraft.* 
         </Export-Package> 

         <Private-Package> 
          <!-- Specify any private package here--> 
         </Private-Package> 

         <Import-Package> 
          * 
         </Import-Package> 

         <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> 

         <Bundle-Activator>${project.artifactId}.Activator</Bundle-Activator> 

         <Include-Resource> 
          {maven-resources} 
         </Include-Resource> 

         <Embed-Dependency> 
          jzlib 
          <!-- comma separated list of dependency artifact ids --> 
         </Embed-Dependency> 

         <Embed-Transitive>true</Embed-Transitive> 
        </instructions> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.felix</groupId> 
       <artifactId>maven-scr-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>generate-scr-scrdescriptor</id> 
         <goals> 
          <goal>scr</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
      <!-- generate manifest automatically once the classes are processed --> 
     </plugins> 
    </build> 
</project>