如何在Proguard输出中设置目录权限?

时间:2018-12-03 15:59:12

标签: java maven proguard

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触摸的访问权限列表如下。

enter image description here

您看到的是D drwxr-xr-x

但是Proguard创建的jar几乎没有任何内容

enter image description here

可能是什么问题?如何解决这个问题?

环境

  1. Proguard 6.1.0beta1
  2. Maven插件2.0.14
  3. Java:10
  4. OS Windows 10

1 个答案:

答案 0 :(得分:0)

只需添加

-keepdirectories

为避免删除元数据。