我已经构建了一个 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/