maven shade插件小记

maven shade plugin插件小用

项目中一直使用assembly插件来整合依赖包到一个胖jar,在做这个akka http项目的时候,在scala ide的run/debug中都执行正常,打包后执行就一直报报不到configuration项目的问题.

判断是assembly在解压合并相关配置jar包中的同名配置文件时丢失所致,例如引用中使用了akka-http与akka相关的jar包,它们都有reference.conf,没有进行合并,找到了问题根本原因.

解决方法:

使用maven shade plugin来替换assembly插件,配置pom build中加入:

  <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-shade-plugin</artifactId>  
            <version>1.4</version>  
            <executions>  
                <execution>  
                    <phase>package</phase>  
                    <goals>  
                        <goal>shade</goal>  
                    </goals>  
                    <configuration>  
                        <transformers>   
                            <transformer  
                                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                                <resource>reference.conf</resource>  
                            </transformer>  
                        </transformers>  
                    </configuration>  
                </execution>  
            </executions>  
        </plugin>  

  

posted on 2017-09-08 15:16  tneduts  阅读(429)  评论(0编辑  收藏

导航