在 proguard-maven-plugin 中使用 <proguardInclude></proguardInclude> 标签时出现 LifecycleExecutionException

LifecycleExecutionException while using <proguardInclude></proguardInclude> tag in proguard-maven-plugin

我正在使用 proguard-maven-plugin 来混淆我的 jar。如果我采用这样的插件结构。

    <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> 中给它 proguard.conf 文件而不是

<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**"

:喜欢

    <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 包含 -

    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;

我得到了解决方案,只是我需要像

那样改变progaurd.conf
  -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" 处弄错了,应该是“-keepattributes”