使用Java 7的ProGuard + Maven
我正在尝试将ProGuard作为Maven构建过程的一部分。 问题是官方的Maven插件使用的是ProGuard 4.3,它不支持Java 7.有没有简单的方法让插件使用Proguard 4.8?
我已经尝试为插件指定依赖项,但ProGuard似乎有一个新的Maven模块结构(proguard-base,proguard-parent等),所以插件不能使用任何版本> 4.4。 这是我目前的pom看起来如何:
com.pyx4me proguard-maven-plugin package proguard 4.8 true -allowaccessmodification -keep public class com.degoo.ui.ClientBackendStarter { public *; public static *; } ${project.build.finalName}.jar ${project.build.finalName}-small.jar ${project.build.directory} ${java.home}/lib/rt.jar ${java.home}/lib/jsse.jar false net.sf.proguard proguard 4.8 runtime
有什么建议么?
我使用com.github.wvengen
的proguard-maven-plugin。 注意不同的groupId
。 这样我就可以使用最新的proguard-base
artifact 5.0。 两者都在Maven Central。 这是我的pom.xml中的proguard-base部分现在的样子:
父pom.xml:
com.github.wvengen proguard-maven-plugin 2.0.8 net.sf.proguard proguard-base 5.0 runtime [...]
这是我孩子pom.xml的其余部分,但你可能想要修改它:
com.github.wvengen proguard-maven-plugin process-classes-with-proguard process-classes proguard 256m classes ${rt.jar.path} ${jsse.jar.path} true true false ${project.basedir}/proguard.conf
更新:对于我的Android项目,我没有使用像proguard-maven-plugin这样的专用Proguard插件,因为android-maven-plugin处理ProGuard混淆本身,并且更好地集成到Android的构建过程中。
有一个原始proguard-maven插件的分支。 这是git-hubed 。 请看你是怎么做的 。
这是我们如何做到的最新例子。 不再需要配置文件。
我在这里找到了一个解决方案: https : //groups.google.com/forum/?fromgroups# ! topic / pyx4me-users / NUZi1oySvQE 。 基本上我必须下载并安装ProGuard到我的本地仓库。