我有一个同时使用spring-beans和spring-context jars的应用程序。当我试图使用maven为我的应用程序生成一个带有依赖项的jar时,spring-context jar的spring.schemas文件正在覆盖spring-beans jar的jar文件。因此,另一个使用我打包的jar文件的应用程序无法识别spring-beans的模式位置引用。
在这种情况下有什么解决办法?
发布于 2016-06-29 09:40:57
经过大量的研究后,我发现了能够追加资源的Apache Shade Plugin如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>assembly</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<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.AppendingTransformer">
<resource>META-INF/spring.tooling</resource>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
<transformer
implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
<addHeader>false</addHeader>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>https://stackoverflow.com/questions/32950990
复制相似问题