maven shade plugin을 사용하여 뚱뚱한 항아리를 만들고 있습니다. 그러나 이것은 Bouncy Castle의 서명되지 않은 버전 때문에 문제를 만듭니다.Maven Shade 플러그인이있는 종속 항아리가있는 종속성 폴더 만들기
이 java.lang.SecurityException : JCE가 제공
BC
를 인증 할 수없는 지금의 해결책 중 하나는 종속의 외부 폴더가 지방 항아리의 매니페스트 파일에서이 클래스 경로를 정의하는 것입니다. 예를 들어:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<excludes>
<exclude>org.bouncycastle:*:*:*</exclude>
</excludes>
</artifactSet>
<finalName>Relay-S3-Monitor-jar-with-dependencies</finalName>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>at.seresunit.lecturemanager_connector.App</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>com.pb.relay.s3.CamelBoot</Main-Class>
<Class-Path>. bouncycastle_libs/bcpg-jdk15on-1.55.jar bouncycastle_libs/bcprov-jdk15on-1.55.jar bouncycastle_libs/bcprov-jdk16-1.45.jar</Class-Path>
</manifestEntries>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin
지금 내가 필요한 : 같은 pom.xml 파일에, 나는 섹션 (플러그인)을 삽입해야합니다 (만 탄력이 성 항아리) depencies 폴더를 생성
이것은 단지 오늘 저장되었습니다 :) – ademg