java - ProGuard 输出不运行

标签 java proguard obfuscation

我已经构建了一个 jar,它运行没有问题。 ProGuard 处理也成功:

C:\Users\alexk>C:\proguard5.2.1\bin\proguard.bat @M:\JGetRealV_alexk\JVAUtilities\config.pro
ProGuard, version 5.2.1
Reading program jar [M:\JGetRealV_alexk\JVAUtilities\jgetrealv.jar]
Reading library jar [M:\JGetRealV_alexk\JVAUtilities\JGetRealVConsoleApp\slf4j-api-1.7.21.jar]
Reading library jar [M:\JGetRealV_alexk\JVAUtilities\JGetRealVConsoleApp\slf4j-jdk14-1.7.21.jar]
Reading library jar [C:\Program Files\Java\jdk1.7.0_79\jre\lib\rt.jar]
Preparing output jar [M:\JGetRealV_alexk\JVAUtilities\jgetrealv_out.jar]
Copying resources from program jar [M:\JGetRealV_alexk\JVAUtilities\jgetrealv.jar]

但是当我尝试运行输出 jar 时,出现错误:

C:\Users\alexk>java -jar M:\JGetRealV_alexk\JVAUtilities\jgetrealv_out.jar
Error: Could not find or load main class org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader

请帮忙!

最佳答案

通过将以下行添加到 config.pro 解决了该问题:

-keep class org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader {
    public static void main(java.lang.String[]);
}

非常感谢 Eric Lafortune ( https://sourceforge.net/u/lafortune/ ),他发送了此解决方案。

关于java - ProGuard 输出不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840436/

相关文章:

Android:传递给 AESObfuscator 的随机 SALT 字节是否需要保持不变?

java - Jar2Exe 在保护 Java 类文件不被提取时如何工作

java - ProGuard 给出不清楚的错误

java - Spring-MVC 正在向用户输入的 URL 添加额外的 .jsp 扩展名

Android Proguard postgresql 和 ssl 连接

安卓 Proguard SqlCipher NoClassDefFoundError

android - 从 Play 商店下载后应用程序崩溃?

javascript - 在没有表单的情况下从ajax向spring Controller 发送多部分请求?

java - 将元素插入二叉搜索树并查找其级别

java - 从标准的 apache ssl 证书生成一个 java keystore (用于 jetty )