Proguard做一些奇怪的事情。外出时,我有两个罐子,一个被Proguard保护,另一个没有。
我将Proguard设置为不执行任何操作,仅创建“守卫”的jar。 (由于问题和测试)
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>${plugin.proguard.version}</version>
<executions>
<execution>
<id>obfuscation-packaging</id>
<phase>package</phase>
<goals>
<goal>proguard</goal>
</goals>
<configuration>
<proguardVersion>${tool.proguard.version}</proguardVersion>
<includeDependency>false</includeDependency>
<obfuscate>false</obfuscate>
<injar>${project.build.finalName}.${project.packaging}</injar>
<outjar>${project.build.finalName}-proguard.${project.packaging}</outjar>
<proguardInclude>${basedir}/proguard.conf</proguardInclude>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>${tool.proguard.version}</version>
</dependency>
</dependencies>
</plugin>
配置文件:
-libraryjars <java.home>/jmods/java.base.jmod
-dontnote
-dontwarn
-keepparameternames
-dontoptimize
-dontobfuscate
-dontpreverify
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-keep class org.** { *; }
-keep public class * {
<methods>;
}
未被proguard jar触摸的访问权限列表如下。
您看到的是D drwxr-xr-x
但是Proguard创建的jar几乎没有任何内容
可能是什么问题?如何解决这个问题?
环境
答案 0 :(得分:0)
只需添加
-keepdirectories
为避免删除元数据。