How to assembly a project after using proguard-maven-plugin

点点圈 提交于 2019-11-29 14:49:39

I solved it by abandoning maven assembly plugin to shade plugin. Hope it might help someone.

                    <plugin>
                            <groupId>org.apache.maven.plugins</groupId>
                            <artifactId>maven-compiler-plugin</artifactId>
                            <version>3.2</version>
                            <configuration>
                                <source>1.7</source>
                                <target>1.7</target>
                            </configuration>
                    </plugin>

                    <!--Obfuscation-->
                    <plugin>
                        <groupId>com.github.wvengen</groupId>
                        <artifactId>proguard-maven-plugin</artifactId>
                        <version>2.0.13</version>
                        <executions>
                            <execution>
                                <id>obfuscation-packaging</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>proguard</goal>
                                </goals>
                                <configuration>
                                    <proguardVersion>5.2</proguardVersion>
                                    <obfuscate>true</obfuscate>
                                    <addMavenDescriptor>true</addMavenDescriptor>
                                    <injar>${project.build.finalName}.jar</injar>
                                    <outjar>${project.build.finalName}.jar</outjar>
                                    <mappingFileName>proguard_map.txt</mappingFileName>
                                    <seedFileName>proguard_seed.txt</seedFileName>
                                    <libs>
                                        <lib>${java.home}/lib/rt.jar</lib>
                                    </libs>

                                    <options>
                                    ...
                                    </options>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>net.sf.proguard</groupId>
                                <artifactId>proguard-base</artifactId>
                                <version>5.2</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-shade-plugin</artifactId>
                        <version>2.4.3</version>
                        <executions>
                          <execution>
                            <phase>package</phase>
                            <goals>
                              <goal>shade</goal>
                            </goals>
                            <configuration>
                                <transformers>
                                  <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>xxx.Main</mainClass>
                                  </transformer>
                                </transformers>
                                <filters>
                                    <filter>
                                        <artifact>*:*</artifact>
                                        <excludes>
                                            <exclude>META-INF/*.SF</exclude>
                                            <exclude>META-INF/*.DSA</exclude>
                                            <exclude>META-INF/*.RSA</exclude>
                                        </excludes>
                                    </filter>
                                </filters>
                            </configuration>
                          </execution>
                        </executions>
                    </plugin>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!