好吧,我遇到了我需要创建一个uber jar的典型问题,但是我的项目依赖关系有多个spring.handlers和spring.schemas文件。我搜索了一下,发现我的问题要求我使用maven-shade插件,以及它的AppendingTransformer。问题是,当我添加配置并运行目标时,它不合并文件;更重要的是,我可以为appender或资源文件放入一个伪造类路径,并且它不会发出抱怨,这使我相信它甚至不会尝试执行变换器。maven-shade插件的AppenderTransformer的使用
execute- MVN编译包遮阳:遮阳
<build>
<finalName>mongo-dictionary</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
所以这里是我的pom.xml的整个构建部分 – 2011-12-20 06:05:44
我已经添加了整个构建部分。请检查并让我知道是否有任何问题 – 2011-12-20 06:11:31
我有我的插件配置为pluginManagement元素的子项,一旦我摆脱了pluginManagement tage一切工作如广告。感谢您指点我正确的方向 – 2011-12-20 06:21:28