1. 程式人生 > >maven shade插件小記

maven shade插件小記

blog 目的 package ati tran version oal shade cal

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插件小記