maven shade插件小记

Posted 我的空中楼阁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>  

  

以上是关于maven shade插件小记的主要内容,如果未能解决你的问题,请参考以下文章

maven插件: shade, assembly

maven-shade-plugin插件

Maven shade插件打包DLL

maven 插件之间的区别 ( assembly-plugins , jar-plugins , shaded-plugins )

带有 Maven Shade 插件的 Spring Boot - 未映射控制器(404 错误)

idea打包jar的多种方式,用IDEA自带的打包形式,用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包,用Maven插件maven-assembly-plugin打