2010-05-09 127 views
3

这是交易。我刚刚开始使用Java编程,我已经制作了一个使用SWT图形库的简单应用程序,并且我想将其部署到Mac上(运行最新版本的MacOS X)。 我在Windows 7机器上做了所有的编程,所以这里是我的问题:在MacOSX上部署Java应用程序(来自Windows系统)

Q1)我可以从Windows机器上为MacOS X制作一个可执行文件吗?怎么样?(我看到,它可能在Windows创建的,而不是使用的.jar .exe文件,;我想要做同样适用于Mac,当然也不会是一个.exe)

Q2)如果我在Eclipse中导出我的项目,并选择Runnable JAR File,然后选择Library Handling,我选择Extract required libraries into generated JARPackage required libraries into generated JAR我最终得到一个巨大的.JAR(大小约15MB,我的应用程序仅包含窗口上的按钮和一个小方法没有太大的作用)。这被认为是正常的吗? 下面是我的项目似乎使用库列表:

alt text

在此先感谢。

回答

2

Q1:你必须捆绑的应用程序包里面的罐子,有this教程直接​​从苹果..

Q2:是的,这是15MB,因为所有不居住在JRE里面引用的库系统库包含在最终的jar中。有不同的方法:

  • 捆绑一起喜欢自己正在做
  • 带来其他.jar文件与你在一起,没有包装他们
  • 单独安装的罐子,就必须进行一次复制到$ JAVA_HOME/lib/ext,然后每个应用程序在相同的JRE上都会有它们
+0

谢谢。顺便说一句,关于15MB文件,我意识到有很多未使用的库,删除所有后,只是离开SWT我有一个1.4MB的文件:) – 2010-05-10 21:43:52

2

为了将应用程序导出到多个平台,请安装Eclipse Delta Pack在你的开发机器上。这是一个tutorial。安装完成后,您可以将Eclipse应用程序导出到任何目标(Windows,Linux,OSX等)。

编辑:这是另一个tutorial

+0

感谢您的答复。这并不是那么容易,你能指点我一个很好的教程或者关于如何使用它的文档吗? (安装是最简单的部分) – 2010-05-10 21:39:48

+0

其实,它都在那里。使用eclipse导出向导导出产品(以生成* .exe文件)时,只需在向导中选中“导出到多个平台”即可。 – drstupid 2010-05-13 12:15:14

1

保存自己的一些悲伤,并将您的eclipse项目转换为maven项目,然后使用OSX App Bundle插件:http://mojo.codehaus.org/osxappbundle-maven-plugin/。通过使用mvn eclipse:eclipse或使用m2插件,Maven项目很容易在eclipse中加载。

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