1
maven 번들 플러그인을 사용하여 tibjms.jar와 javax.jms-api-2.0.jar을 하나의 번들로 묶고 싶습니다. tibjms.jar은 메이븐의 repos에없는 때문에 내가 먼저 내 지역의 repo에 추가는 : 빌드가 성공제 3 자 항아리를 메이븐에 묶는 방법?
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.riyafa</groupId>
<artifactId>tibco</artifactId>
<packaging>bundle</packaging>
<version>1</version>
<dependencies>
<dependency>
<groupId>com.tibco</groupId>
<artifactId>tibjms</artifactId>
<version>4.4.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>javax.jms</groupId>
<artifactId>javax.jms-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.3.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Name>${project.artifactId}</Bundle-Name>
<Export-Package>
com.tibco.tibjms.*,
com.tibco.tibjms.naming.*,
com.tibco.tibjms.naming.tibjmsnaming.*,
</Export-Package>
<Import-Package>
*,
!javax.jms.*,
</Import-Package>
<Embed-Dependency>
javax.jms-api;scope=compile|runtime;inline=false;
</Embed-Dependency>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>
:
mvn install:install-file -Dfile=/home/riyafa/Documents/Workspace/Support/NNINSURANCESUB-17/tibco/libs/jms-2.0.jar -DgroupId=com.tibco -DartifactId=tibjms -Dversion=4.4.0 -Dpackaging=jar -DgeneratePom=false
그런 다음 나는 다음과 같은 치어 파일을 생성하고 내장 생성 된 jar 파일의 javax.jms-api-2.0.jar 파일 만 볼 수 있습니다.
두 개의 jar 파일을 함께 묶고 싶습니다. 항아리 중 하나가 thirparty jar 일 때 어떻게 이것을 할 수 있습니까? 또한 작동하지 않는 외부 라이브러리로 pom 파일에 항아리를 추가하려고 시도했습니다.
감사합니다. jms-api에 의해 노출 된 메소드가 다른 jar와 충돌 할 때 tibjms.jar에서만 볼 수 있기를 원하기 때문에 이들을 단일 번들에 포함 시키길 원합니다. –
시인성에 대해 좋은 점! – gjoranv