我已经制作了一个没有问题的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
请帮忙!
答案 0 :(得分:1)
通过在config.pro中添加以下行来解决问题:
-keep class org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader {
public static void main(java.lang.String[]);
}
非常感谢Eric Lafortune(https://sourceforge.net/u/lafortune/),他已经发送了这个解决方案。