我想将项目(游戏)导出到不同的桌面平台。我从eclipse(在Windows上)导出它,我得到了JAR文件。在我的机器上我可以启动它,但在其他机器上它将无法工作。我猜JRE在那里失踪了。
所以,我按照LibGDX说明如何在不同平台上部署: https://github.com/libgdx/libgdx/wiki/Deploying-your-application
但是当我运行那个packr.jar应用程序时,我得到以下输出:
D:\packing>java -jar packr.jar windows.json
Output directory 'D:\packing\windows' exists, deleting
Unpacking JRE
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
copying resources
minimizing JRE
unpacking rt.jar
packing rt.jar
Done!
之后我真的得到了我的exe文件,所有这些都与jre dir,我原来的游戏jar文件和一些config.json文件一起,但是exe文件就不会运行了。没有失败的消息,只是不会运行。知道这里发生了什么吗?或者也许还有其他一些包装jar文件的工具?
我所需要的就是让我的游戏在桌面平台上运行:Windows,Mac& Linux操作系统。
答案 0 :(得分:1)
对于Windows操作系统,您可以使用类似launch4j之类的东西,只需在jar文件周围放置一个包装即可。
它还具有提供给定jre的能力。因此,您的用户不需要安装一个。
答案 1 :(得分:0)
好的,解决了这个问题。
所以我发现如果我从控制台(cmd)运行exe文件并将输出重定向到文件,我可能会有一些关于运行尝试的错误报告。所以我这样做了:
myapp.exe > log.txt
并获取日志此日志文件:
Loading JVM runtime library ...
Passing VM options ...
# -Xmx1G
Creating Java VM ...
Error occurred during initialization of VM
Unable to load ZIP library: D:\packing\windows\jre\bin\zip.dll
Zip文件在那里,但是它出了问题所以我用mu Java安装中的那个替换了它(我更大)。之后,我能够很好地运行exe文件。