我想在另一个选择的 jvm (IKVM) 中启动这个游戏,但由于 exe4j,我找不到解决方法。
我知道 exej4 EXE 使用捆绑的 jre 组件(在子文件夹中)作为 DLL,所以我无法找到一些命令行来欺骗。
我在我的用户配置文件文件夹中找到了一个配置文件,但我不确定如何使用它...
<?xml version="1.0" encoding="UTF-8"?>
<LaunchConfig className="em.entry.EntryRedactedGame" methodName="main" runDir="." downloadDir="update/download" extractDir="update/extract" resourcesPath="resource-config.xml">
<classpath>
<string value="game.jar" />
<string value="lib/log4j-1.2.15.jar" />
<string value="lib/jinput.jar" />
<string value="lib/lwjgl.jar" />
<string value="lib/lwjgl_util.jar" />
<string value="lib/commons-codec-1.3.jar" />
<string value="lib/commons-httpclient-3.1.jar" />
<string value="lib/commons-logging-1.1.1.jar" />
</classpath>
</LaunchConfig>
我只弄清楚了执行game.jar命令的一部分
java -cp game.jar;lib/log4j-1.2.15.jar;lib/jinput.jar;lib/lwjgl.jar;lib/lwjgl_util.jar;lib/commons-codec-1.3.jar;lib/commons-httpclient -3.1.jar;lib/commons-logging-1.1.1.jar em.entry.EntryRedactedGame
当我运行它时遇到此异常:
错误:发生 JNI 错误,请检查您的安装并重试 线程“main”中的异常 java.lang.NoClassDefFoundError: org/jdom/Element at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class .privateGetDeclaredMethods(Unknown Source) at java.lang.Class.privateGetMethodRecursive(Unknown Source) at java.lang.Class.getMethod0(Unknown Source) at java.lang.Class.getMethod(Unknown Source) at sun.launcher.LauncherHelper.validateMainClass (未知来源)在 sun.launcher.LauncherHelper.checkAndLoadMain(未知来源)引起:java.lang.ClassNotFoundException:org.jdom.Element 在 java.net.URLClassLoader.findClass(未知来源)在 java.lang.ClassLoader.loadClass (来源不明)在 sun.misc。Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 7 更多
所以真正的问题是如何将完整的命令行重建为 java.exe ?