【发布时间】:2021-08-14 12:53:27
【问题描述】:
我使用 proguard 使用 proguard gradle 插件来混淆 Java 11(最新 LTS 版本)中的应用程序。这是当前的依赖。我想评论一下,由于与项目有关的其他原因,我必须使用 >= 7.1.0-beta3 的版本。但是这个问题与此无关。
com.guardsquare:proguard-gradle:7.1.0-beta4
最近添加了对interface javax.swing.tree.TreeNode module 的依赖。
javax.swing.tree.TreeNode module 是 java.desktop module 的一部分。
我使用以下代码以独立于 java 版本的方式包含 JDK 库。 关注proguard examples。
if (System.getProperty('java.version').startsWith('1.')) {
libraryjars "${System.getProperty('java.home')}/lib/rt.jar"
} else {
libraryjars "${System.getProperty('java.home')}/jmods/java.base.jmod", jarfilter: '!**.jar', filter: '!module-info.class'
}
但是我收到以下警告:
Warning: a.custom.CustomClass: can't find referenced class javax.swing.tree.TreeNode
Execution failed for task ':obfuscation_task'.
> java.io.IOException: Please correct the above warnings first.
proguard 需要什么才能“看到”javax.swing.tree.TreeNode class 作为库类?
【问题讨论】:
标签: java swing gradle proguard obfuscation