如何在32位和64位系统上运行exe Java应用程序?

如何在32位和64位系统上运行exe Java应用程序?,java,windows,exe,32bit-64bit,packaging,Java,Windows,Exe,32bit 64bit,Packaging,我在windows上使用JDK 64位编译了java应用程序,然后使用Excelsior Jet 11.3(64位)打包了JAR文件,为运行windows的最终用户提供了一个优雅的exe可执行文件 exe文件在我的计算机(Windows 7 64位)上运行正常,但当我部署到其他32位系统(Windows xp和Windows 7)时,它不工作,它会显示错误消息,表示exe未被识别为有效的32位程序 我怎样才能解决这个问题 我怎样才能解决这个问题 嗯,分发Java的标准方法(JAR文件、WebSt

我在windows上使用JDK 64位编译了java应用程序,然后使用Excelsior Jet 11.3(64位)打包了JAR文件,为运行windows的最终用户提供了一个优雅的exe可执行文件

exe文件在我的计算机(Windows 7 64位)上运行正常,但当我部署到其他32位系统(Windows xp和Windows 7)时,它不工作,它会显示错误消息,表示exe未被识别为有效的32位程序

我怎样才能解决这个问题

我怎样才能解决这个问题

嗯,分发Java的标准方法(JAR文件、WebStart等)避免了这种情况,因为字节码是独立于平台的。您故意选择分发EXE文件,这些文件本质上是特定于平台的

如果你想继续和前男友在一起,你可以考虑两种选择:

  • 为需要支持的每个OS+硬件平台组合构建并分发不同的EXE。(32 Windows、64位Windows、各种MacOS、Intel上的Linux、ARM上的Linux、Solaris等)

  • 选择一个最小的公分母;e、 g.32位Windows EXE应可在64位Windows操作系统上运行



但是我建议让用户安装JRE,或者提供安装嵌入式JRE的安装程序。

将其作为JAR文件保存?这将需要我的最终用户安装JRE!!!??嗯,是的,会的。但是,无论是在64位或32位系统上,还是在Unix或IOS上,他们都可以运行您的代码,……您可以让64位用户运行32位exe,或者将其打包两次,每个环境一次。或者你创建一个包含32位和64位exe映像的安装程序,并安装相关的一个。但我认为JRE并不像你想象的那么重要,特别是如果你创建了一个安装程序,在用户还没有java的情况下掌握着用户的手。