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

How do I set directory permission in Proguard output?

Proguard 做了一些奇怪的事情。作为输出,我有两个罐子,一个由 Proguard 保护,第二个不保护。

我设置 Proguard 什么都不做,只创建 "guarded" 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几乎什么都没有

有什么问题吗?如何解决这个问题?

环境

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

只需添加

-keepdirectories

避免删除元数据。