Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MacOSX上部署Java应用程序(从Windows系统)_Java_Deployment_Swt - Fatal编程技术网

在MacOSX上部署Java应用程序(从Windows系统)

在MacOSX上部署Java应用程序(从Windows系统),java,deployment,swt,Java,Deployment,Swt,事情是这样的。我只是从Java编程开始,我制作了一个使用SWT图形库的简单应用程序,我想将它部署在Mac上(运行最新版本的MacOS X)。 我在我的Windows 7计算机上完成了所有编程工作,因此,以下是我的问题: Q1)我可以从我的Windows计算机为MacOS X制作一个可执行文件吗?如何创建?(我发现可以在Windows上创建.exe文件,而不是使用.jar;我想在Mac上也这样做,当然不是.exe文件) Q2)如果我在Eclipse中导出我的项目,然后选择运行JAR文件,然后在库处

事情是这样的。我只是从Java编程开始,我制作了一个使用SWT图形库的简单应用程序,我想将它部署在Mac上(运行最新版本的MacOS X)。 我在我的Windows 7计算机上完成了所有编程工作,因此,以下是我的问题:

Q1)我可以从我的Windows计算机为MacOS X制作一个可执行文件吗?如何创建?(我发现可以在Windows上创建.exe文件,而不是使用.jar;我想在Mac上也这样做,当然不是.exe文件)

Q2)如果我在Eclipse中导出我的项目,然后选择
运行JAR文件
,然后在
库处理
上选择
将所需库提取到生成的JAR中
将所需库打包到生成的JAR中
我最终得到一个巨大的.JAR(大约15MB大小,我的应用程序只包含窗口上的一个按钮和一个小方法,没有太多功能)。这算正常吗? 以下是我的项目似乎正在使用的库的列表:


提前感谢。

Q1:您必须将jar捆绑在应用程序捆绑包中,有直接来自Apple的教程

问题2:是的,它是15mb,因为所有不在JRE系统库中的引用库都包含在最终的jar中。有不同的方法:

  • 像你正在做的那样把所有的东西捆在一起
  • 将其他.jar与您的一起携带,不要打包
  • 单独安装jar,它们必须复制一次到$JAVA_HOME/lib/ext,然后同一JRE上的每个应用程序都会有它们

要将应用程序导出到多个平台,请在您的开发机器上安装Eclipse Delta pack。下面是一个示例。安装后,您可以将Eclipse应用程序导出到任何目标(Windows、Linux、OSX等)


编辑:这里还有另一个。

省省你自己的痛苦,把你的eclipse项目转换成一个maven项目,然后使用OSX应用程序包插件:。maven项目可以通过使用
mvn eclipse:eclipse
或使用m2插件在eclipse中轻松加载


如果您需要同时为Windows和OSX构建,请在maven pom.xml中设置两个不同的构建配置文件,以调用相应的绑定程序。

感谢您的回复。但这并不是那么容易,您能给我指一个关于如何使用它的好教程或文档吗?(安装是最简单的部分)事实上,它们都在那里。当您使用eclipse导出向导导出产品时(要生成*.exe文件),只需选中向导中的“导出到多个平台”。谢谢。顺便说一句,关于15mb的文件,我意识到有很多未使用的库,在删除所有库并离开SWT后,我得到了一个1.4mb的文件:)