微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Proguard: Can't read C:\Program Files\Java\jdk-15.0.1\lib\rt.jar (No such file or directory)

如何解决Proguard: Can't read C:\Program Files\Java\jdk-15.0.1\lib\rt.jar (No such file or directory)

我以前见过这个问题,但我没有找到解决办法。所以我想使用 proguard 来尝试混淆我的文件。我已经使用视频设置了所有内容,但是我有一个问题我很确定它与设置没有任何关系。当我点击 Process! Proguard 打印出上述错误消息。我可以在进程选项卡和输入/输出选项卡中看到(我猜)ProGuard 认为我认为代表 runtime.jar 的 rt.jar 位于标题中提到的路径中。我查了一下,它不在那里。我做了一些研究,听说 rt.jar 在 java 9 中被删除或移动了。我可以更改 rt.jar 应该在的路径。它移到哪里去了?还是被删了?那我该怎么做才能修复它?正如您在阅读错误消息时可能注意到的那样,我使用的是 jdk 15.0.1,并且我使用的是 Windows 10。 提前致谢。

解决方法

来自 9+ 的基于模块的 JDK 没有 rt.jar。阅读 Proguard 的手册,其中显示了使用较新 JDK 的 -libraryjars 参数。假设您启动时:

bin\proguard.bat @file.pro

...然后根据您使用的 JDK 模块,您将需要在 file.pro 配置中包含以下内容:

-libraryjars  <java.home>/jmods/java.base.jmod(!**.jar;!module-info.class)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。