Java应用程序无法在其他系统上运行

时间:2016-03-14 09:34:37

标签: java cross-platform inno-setup

我在Java中创建了一个名为StoryTeller的文字处理程序(第一个测试版,我还在努力改进)并将其放在网上供其他人测试和使用。

我得到了回复,说他们无法打开它。我在Windows 10操作系统上构建并运行了StoryTeller,它工作正常。生成jar文件后,我使用Inno setup为程序生成安装程序。您可以找到我上传的文件here。以下是我得到的消息:

  

您好!我今天要在我的Macbook上试用StoryTeller,但遗憾的是它没有用。该文件自动打开   “文本编辑器”,其中显示加密文本以及错误   消息“此程序必须在Win32下运行”。

     

我本周早些时候在旧电脑上下载了它(它有windows   7)下载过程和安装工作完美,   但是在安装完成后我无法打开程序。   它作为Java符号(图标)出现在我的桌面上,什么都没有   当我点击它时发生了。我的操作系统都很老了(Macbook来自   2010年和2012年的另一台电脑),但我仍然更新它们   尽可能安装所有最新版本   必要的程序,所以我不确定问题是否存在于我的内心   电脑或StoryTeller本身。

     

您有什么想法我可以解决这个问题吗?我真的很想试试   StoryTeller因为它似乎是一个非常棒的概念   当我写小说时会派上用场。

请有人帮忙,请理解这里的问题是什么?感谢。

1 个答案:

答案 0 :(得分:1)

  • 首先,检查您的JDK是否为32位,并确保建议您的未来用户安装了32位JRE。这样,它可以正常工作。我认为64位Java应用程序无法在32位JRE上运行;
  • 您可以将适当的JRE / JVM与您的软件捆绑在一起;
  • 确保使用代码中的绝对路径引用ANYTHING。这可能会使您的软件在其他地方运行时抛出几个异常;

例如,Inno-setup通常会生成仅限Windows .exe的设置。在Mac上安装软件需要您生成.dmg.pkg(您可以通过XCode here的PackageMaker扩展程序生成此文件(需要注册,更多信息here

  

Kappy于2012年7月5日下午6:28说:访问connect.apple.com并搜索“packagemaker”。当然,您必须先登录您的开发者帐户。

))

对于Linux,您可以在.jar.zip文件中提供与.tar.gz捆绑的简单shellcript(即使使用离散JVM),并要求您的未来用户运行提供了shellcript。

祝你好运!