maven 打fat包

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.3</version>
                <configuration>
                    <!-- put your configurations here -->
                    <!--
                        自動將不需要的類排除掉,使jar包最小化
                        這個選項要慎用,經常會讓打的jar包缺少核心的類。
                        比如dubbo。
                    -->
                    <!--<minimizeJar>true</minimizeJar>-->

                    <transformers>
                        <!--
                            設置主函數
                         -->
                        <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                            <mainClass>com.alibaba.dubbo.container.Main</mainClass>
                        </transformer>
                        <!--
                            解決spring xml的schema文件相互覆蓋的問題
                            把所有的配置文件都合併
                        -->
                        <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.AppendingTransformer">
                            <resource>META-INF/spring.handlers</resource>
                        </transformer>
                    </transformers>
                    <!--
                        將依賴的某個jar包內部的資源給過濾掉,比如jar包內的log4j文件
                        也可以過濾jar包內的類
                        包括include跟exclude行爲
                    -->
                    <filters>
                        <filter>
                            <artifact>junit:junit</artifact>
                            <includes>
                                <include>junit/framework/**</include>
                                <include>org/junit/**</include>
                            </includes>
                            <excludes>
                                <exclude>org/junit/experimental/**</exclude>
                                <exclude>org/junit/runners/**</exclude>
                            </excludes>
                        </filter>
                        <filter>
                            <artifact>*:*</artifact>
                            <excludes>
                                <exclude>META-INF/*.SF</exclude>
                                <exclude>META-INF/*.DSA</exclude>
                                <exclude>META-INF/*.RSA</exclude>
                            </excludes>
                        </filter>
                    </filters>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章