首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LifecycleExecutionException同时使用<proguard proguard></proguardInclude>标记在pro卫士-maven-plugin中使用

LifecycleExecutionException同时使用<proguard proguard></proguardInclude>标记在pro卫士-maven-plugin中使用
EN

Stack Overflow用户
提问于 2016-03-16 12:39:26
回答 1查看 210关注 0票数 0

我正在使用pro卫兵-maven-插件来混淆我的罐子。如果我采用这样的插件结构。

代码语言:javascript
复制
    <plugin>
    <groupId>com.github.wvengen</groupId>
    <artifactId>proguard-maven-plugin</artifactId>
    <version>2.0.11</version>
    <dependencies>
    <dependency>
    <groupId>net.sf.proguard</groupId>
    <artifactId>proguard-base</artifactId>
    <version>5.0</version>
    <scope>runtime</scope>
    </dependency>
    </dependencies>
    <executions>
    <execution>
    <phase>package</phase>
    <goals>
    <goal>proguard</goal>
    </goals>
    </execution>
    </executions>
    <configuration>
    <maxMemory>576m</maxMemory>
    <proguardVersion>5.0</proguardVersion>
    <obfuscate>true</obfuscate>
    <injar>${project.build.finalName}.jar</injar>
    <outjar>build/lib/${project.build.finalName}.jar</outjar>
    <outputDirectory>${project.build.directory}</outputDirectory>

    <libs>
    <lib>${java.home}/jre/lib/rt.jar</lib>
    <lib>${java.home}/jre/lib/jce.jar</lib>
    </libs>
    <options>
    <option>-keep public class * { protected *;}</option>
    </options> 
    </configuration>
    </plugin>

为此,它可以正常工作,并给我一个模糊的jar,但是当尝试在这个标记中在<proguardInclude></proguardInclude>中给它<proguardInclude></proguardInclude>文件而不是

代码语言:javascript
复制
<options>
<option></option>
</options> this tag it throw an exception
"**org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.github.wvengen:proguard-maven-plugin:2.0.11:proguard (default) on project**"

*就像

代码语言:javascript
复制
    <plugin>
    <groupId>com.github.wvengen</groupId>
    <artifactId>proguard-maven-plugin</artifactId>
    <version>2.0.11</version>
    <dependencies>
    <dependency>
    <groupId>net.sf.proguard</groupId>
    <artifactId>proguard-base</artifactId>
    <version>5.0</version>
    <scope>runtime</scope>
    </dependency>
    </dependencies>
    <executions>
    <execution>
    <phase>package</phase>
    <goals>
    <goal>proguard</goal>
    </goals>
    </execution>
    </executions>
    <configuration>
    <maxMemory>576m</maxMemory>
    <proguardVersion>5.0</proguardVersion>
    <obfuscate>true</obfuscate>
    <injar>${project.build.finalName}.jar</injar>
    <outjar>build/lib/${project.build.finalName}.jar</outjar>
    <outputDirectory>${project.build.directory}</outputDirectory>
    <proguardInclude>${basedir}/proguard.conf</proguardInclude>
    <libs>
    <lib>${java.home}/jre/lib/rt.jar</lib>
    <lib>${java.home}/jre/lib/jce.jar</lib>
    </libs>

    </configuration>
    </plugin>

我的proguard.conf包含-

代码语言:javascript
复制
    keepattributes 

    Signature,LineNumberTable,*Annotation*,LocalVariableTable,SourceFile
    -keep public class * { public protected *;}

    -keepclassmembers class **.R$* {
    public static <fields>;
    }

    -keepclassmembers class com/compny/blha/proj/Class/Container
    {

    }
    -keep fields com/compny/blha/proj/Class/VersionUID long;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-25 05:40:47

我找到了解决方案,只是我需要改变progaurd.conf

代码语言:javascript
复制
  -keepattributes 

    Signature,LineNumberTable,*Annotation*,LocalVariableTable,SourceFile
    -keep public class * { public protected *;}

    -keepclassmembers class **.R$* {
    public static <fields>;
    }

    -keepclassmembers class com/compny/blha/proj/Class/Container
    {

    }
    -keep fields com/compny/blha/proj/Class/VersionUID long;

我犯了一个错误,那就是"-keepattributes“。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36035947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档