Java 和 ProGuard - 使用类加载器 AntClassLoader 找不到 taskdef 类 proguard.ant.ProGuardTask
Posted
技术标签:
【中文标题】Java 和 ProGuard - 使用类加载器 AntClassLoader 找不到 taskdef 类 proguard.ant.ProGuardTask【英文标题】:Java and ProGuard - taskdef class proguard.ant.ProGuardTask cannot be found using the classloader AntClassLoader 【发布时间】:2022-01-20 10:06:51 【问题描述】:我很高兴从事嵌入式 Java 程序,该程序是 10 多年前由第三方公司编写的。包括源文件和项目文件。
它被导入 Eclipse 并移植到更高的 java 版本(17)。
现在我在尝试构建程序时被卡住了。它使用 ProGuard。最新版本已添加到项目文件中。配置文件 proguard.pro 已更改为放弃 rt.jar 使用以支持新方法。但是,现在我收到一条错误消息:
BUILD FAILED
C:\mypath\build.xml:16: taskdef class proguard.ant.ProGuardTask cannot be found
using the classloader AntClassLoader[C:\mypath\obf\proguard.jar]
build.xml(原文)如下:
<target name="obfuscate" description="obfuscate a jar file" depends="jar">
<taskdef name="proguard" classname="proguard.ant.ProGuardTask" classpath="obf/proguard.jar" />
<proguard configuration="obf/proguard.pro" />
</target>
“obf”文件夹位于项目内(build.xml 的子级)。文件 proguard.jar 在其中。任何人都有任何线索为什么会显示此错误?除所列内容外,未进行其他更改。
【问题讨论】:
【参考方案1】:因此,事实证明,在新版本中,符号与以前不同。
<taskdef resource="proguard/ant/task.properties" classpath="$proguard.path/lib/proguard-ant.jar" />
【讨论】:
以上是关于Java 和 ProGuard - 使用类加载器 AntClassLoader 找不到 taskdef 类 proguard.ant.ProGuardTask的主要内容,如果未能解决你的问题,请参考以下文章