4
프로젝트를 빌드 할 때 maven-shade-plugin을 사용합니다. 그러나 it.there에는 거의 동일한 클래스와 경로가있는 두 개의 jar가 있습니다. same, aspectjweaver.jar 및 aspectjrt.jar, jar 파일을 패키징 할 때 "중복 클래스가 존재합니다 ...."라는 경고 메시지가 나타납니다. 나는 클래스를 재배치하기 위해 "재배치"속성을 사용하려고했지만, 두 항아리에서 클래스를 어떻게 재구성 할 수 있습니까? 다음은 내 Pom.xml의 일부입니다. org.apache.maven.plugins 받는다는 그늘 - 플러그인 당신은 그냥 이런 일이 사용하는 유물 중 하나에서 클래스를 제외한다 1.3.1Maven을 사용하여 클래스 충돌을 피하는 방법
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<filters>
<filter>
<artifact>org.aspectj:aspectjrt</artifact>
<includes>
<include>*</include>
</includes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>org.aspectj</pattern>
<shadedPattern>hide.org.aspectj</shadedPattern>
</relocation>
</relocations>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cm.data.DatBoostrap</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>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
미안 실수로 인해을 삭제해야합니다. –