在pom.xml中包含proguard配置文件

时间:2014-10-12 06:14:26

标签: java maven proguard pom.xml

我试图混淆java类文件。我以前使用过ant,所以我设法在构建过程中对它们进行了混淆,方法是在' build.xml'中包含以下代码。

    <target name="-post-jfx-jar">
    <!-- obfuscate and optimize by ProGuard -->
    <taskdef resource="proguard/ant/task.properties" classpath="lib/proguard.jar" />
    <proguard configuration="config.pro">
    </proguard>
    <move 
        file="${dist.jar.dir}/${ant.project.name}.jar" 
        tofile="${dist.jar}" verbose="true" overwrite="true" />
    </target>

&#39; config.pro&#39;是proguard配置文件。 现在我正在尝试用maven做同样的事情。我正在学习maven所以我不知道如何在&#39; pom.xml&#39;中做同样的事情。 谢谢你,抱歉英语不好。

2 个答案:

答案 0 :(得分:7)

    <plugin>
            <groupId>com.pyx4me</groupId>
            <artifactId>proguard-maven-plugin</artifactId>
            <version>2.0.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>proguard</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <proguardVersion>5.0</proguardVersion>
                <obfuscate>true</obfuscate>
                <injar>${project.build.finalName}.jar</injar>
                <outjar>${project.build.finalName}-small.jar</outjar>
                <outputDirectory>${project.build.directory}</outputDirectory>
                <proguardInclude>${basedir}/config.pro</proguardInclude>
                <libs>
                    <lib>${java.home}/lib/rt.jar</lib>
                    <lib>${java.home}/lib/jsse.jar</lib>
                </libs>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>net.sf.proguard</groupId>
                    <artifactId>proguard</artifactId>
                    <version>5.0</version>
                    <scope>runtime</scope>
                </dependency>
            </dependencies>
        </plugin>

答案 1 :(得分:0)

我用过它的项目似乎不再存在了。这只是一个临时测试项目。我们最终决定不使用Proguard。

但是,我使用proguard-maven-plugin并根据其Usage sectionProGuard手册创建了我的POM。