为什么Jar Bundler会进入Mac OS X Mountain Lion 10.8.2

有一个名为Jar Bundler苹果公司的应用程序,过去由Apple和Xcode分发。

Jar Bundler的目的是为Java应用程序创建Mac OS X应用程序包( *.app目录),直到版本6(1.6.x)为Mac OS X用户提供便利。

截至目前,你仍然可以得到

  • 来自Apple的JDK 1.6.0_43

又名

  • 适用于OS X 2013-002开发人员包的Java 2013年3月4日

对于当前的Mac OS X Mountain Lion 10.8.2来说

  • https://developer.apple.com/downloads/index.action#

但你不能得到Jar Bundler

我正在使用最新的Mac OS X 10.8.2和最新的Xcode 4.6(4H127),并安装了所有命令行工具 。 经过我所做的所有研究后,我希望它在这里:

 /usr/share/java/Tools/Jar Bundler.app 

但是没有任何Jar Bundler 。 即使是全局搜索sudo find / -name Jar\ Bundler.app也没找到Jar Bundler

所以我的问题是: Jar Bundler最新的Xcode版本是什么

注意:我知道还有其他方法可以实现Jar Bundler在这里所做的事情,例如使用Mac OS X JarBundler ANT Task或手动构建整个应用程序包,但这不是问题。

所以看起来我必须回答我自己的问题。 所以不要因此而打我。

经过深入研究并从2012年开始从Apple下载所有Java开发包,直到现在(2013年3月),它与Xcode无关。

Jar Bundler过去使用Apples自己的Java Developer Packages。 在尝试了所有这些之后,一个接一个地用Pacifist检查它们,我发现了以下内容:

  • 从2012-09-06开始的OS for OS X 2012-005 Developer Package是安装以下工具的最后一个:

     /usr/share/java/Tools/JavaVisualVM.app/ /usr/share/java/Tools/Jar Bundler.app/ /usr/share/java/Tools/Applet Launcher.app/ 

从…开始

  • 适用于OS X 2012-006开发人员包的Java,2012-10-16

     /usr/share/java/Tools 

通过安装此软件包删除目录,但是没有新的/usr/share/java/Tools/*.app由同一个软件包重新安装。

即使在2012-006删除/usr/share/java/Tools目录后重新安装2012-005也不会让你回到Jar Bundler.app

因此,在您丢失它之后获取Jar Bundler.app的唯一方法是在进行Apple Java Developer Package更新练习时,您需要执行以下操作:

  1. 获取Pacifist或您选择的其他工具,可以处理*.pkg文件。
  2. 使用它打开Java for OS X 2012-005开发人员包。
  3. 按住Ctrl键单击JavaDeveloper.pkg\JavaTools.pkg\Jar Bundler.app Pacifist with Java for OS X 2012-005 Developer Package from 2012-09-06
  4. 选择Install to Default location
  5. 打开Terminal.app
  6. open /usr/share/java/Tools/Jar\ Bundler.app/

多数民众赞成,不要忘记支持它。

要了解哪个Apple版本号属于哪个JDK / JRE版本号,请参阅以下内容:

  • 适用于OS X 2012-005开发人员包的Java,2012-09-06

     $ java -version java version "1.6.0_35" Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M4203) Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode) 
  • 适用于OS X 2012-006开发人员包的Java,2012-10-16

     $ java -version java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909) Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode) 
  • 适用于OS X 2013-001开发人员包的Java,摘自2013-02-19

     $ java -version java version "1.6.0_41" Java(TM) SE Runtime Environment (build 1.6.0_41-b02-445-11M4107) Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-445, mixed mode) 
  • 适用于OS X 2013-002 Developer Package的Java,2013-03-04

     $ java -version java version "1.6.0_43" Java(TM) SE Runtime Environment (build 1.6.0_43-b01-447-11M4203) Java HotSpot(TM) 64-Bit Server VM (build 20.14-b01-447, mixed mode) 

JarBundler的官方替代品是javapackager工具。

作为其使用的一个例子,这里有一个简单的,解释良好的分步教程,用于从java源代码制作OSX应用程序: http : //centerkey.com/mac/java/ 。

简而言之,如果您想要Jar Bundler,请安装“OS X 2012-005 Developer Package”。 更新的软件包将其删除。

Jar Bundler现在已经退役,不适用于需要Java 7及更高版本的项目。 查看另一个StackOverflow问题«捆绑Java 7 .jar for Mac»了解更多详情。

此问题中提到的解决方案很可能会继续运行,但仅适用于Java 6之前的项目。

作为Pyxis Software的开发人员,我想补充一点,我们开发了一个名为Pyxis Bundler的小型廉价应用程序,它可以很容易地创建Mac应用程序包。

我们将其设计为以前随Xcode一起提供的Jar Bundler应用程序的替代品。

要使用Pyxis Jar Bundler,您至少需要三个项目:

  1. Runnable jar文件(myApplicatin.jar)
  2. 图标文件(myIcon.icns)
  3. Splash文件(mySplashImage.png)

然后只需输入您的应用程序名称,版本号,ram要求,包名称,主类名称以及其他一些项目。 接下来单击Create,就是这样,您的应用程序将捆绑到标准Mac Bundle中。

请注意,创建的任何应用程序都将保存到首选项文件中 这意味着捆绑更新只需从下拉列表中选择应用程序名称并递增版本号然后单击“创建”按钮即可。

更多信息可在此处获得 。

在El Capitan和Java 9上,安装了java packager

“/Library/Java/JavaVirtualMachines/jdk-9.xxjdk/Contents/Home/bin/javapackager”

创建一个别名: alias javapackager="/Library/Java/JavaVirtualMachines/jdk-9.xxjdk/Contents/Home/bin/javapackager"

这样做:

  1. 右键单击安装OS X Mountain Lion.app
  2. 显示包装内容
  3. 进入Contents / SharedSupport /并挂载InstallESD.dmg

现在你必须进入这个文件夹:包。 你会发现JavaEssential.pkg和JavaTools。 Jar bundler在JavaTools.pkg中。