我在Windows上使用JDK 64位编译了我的java应用程序,然后使用Excelsior Jet 11.3(64位)打包JAR文件,为我提供了一个优雅的exe可执行文件,可供运行Windows的最终用户使用。
exe文件在我的机器上工作得很好(Windows 7 64位)但是当我部署到其他32位系统(windows xp& windows 7)时,它不起作用,它显示错误消息说exe不被识别为有效的32位程序。
我该如何解决这个问题?
答案 0 :(得分:4)
我该如何解决这个问题?
那么,分发Java(JAR文件,WebStart等)的标准方法可以避免这种情况,因为字节码与平台无关。您故意选择分发EXE文件,这些文件本身就是特定于平台的。
如果你想坚持使用EXE,可以考虑两种选择:
为您需要支持的每个OS +硬件平台组合构建和分发不同的EXE。 (32个Windows,64位Windows,各种MacOS,Intel上的Linux,ARM上的Linux,Solaris等)
选择最低公分母;例如32位Windows EXE 应该可以在64位Windows操作系统上运行。
但我建议让用户安装JRE,或者提供安装嵌入式JRE的安装程序。