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

Uwe*_*her 14 java macos bundle jarbundler

有一个来自Apple的应用程序,它曾Jar Bundler由Apple与Xcode分发.

目的Jar Bundler*.app为Java应用程序创建Mac OS X应用程序包(目录),直到版本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来说

但你无法得到Jar Bundler.

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

/usr/share/java/Tools/Jar Bundler.app
Run Code Online (Sandbox Code Playgroud)

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

所以我的问题是:最后一个已知的Xcode版本是什么 Jar Bundler

注意:我知道还有其他方法可以实现Jar Bundler此处的操作,例如使用Mac OS X JarBundler ANT Task或手动构建整个应用程序包,但这不是问题.

Uwe*_*her 27

所以看起来我必须回答我自己的问题.所以不要为此打我.

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

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

从...开始

安装此程序包会删除目录,但/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.appPacifist 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)
    
    Run Code Online (Sandbox Code Playgroud)
  • 适用于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)
    
    Run Code Online (Sandbox Code Playgroud)
  • 适用于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)
    
    Run Code Online (Sandbox Code Playgroud)
  • 适用于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)
    
    Run Code Online (Sandbox Code Playgroud)

  • 我是一位感谢Uwe的这份非常详细的分析和报告. (3认同)
  • 您还可以使用命令行工具`xar`进行提取 - 例如`xar -xf JavaDeveloper.pkg`.该软件包包含其他`.pkg`*文件*,它们实际上是目录.反过来可以使用`tar`提取,因为`Payload`文件是tar档案:`tar -xf Payload`.`xar`和`tar`都是标准的OSX命令行工具. (3认同)
  • @Petesh Legacy解决方案从来都不是坏事.虽然推荐使用更新的解决方案,但旧的解决方案(Jar Bundler.app)仍然有效; 我们中的一些人只需要一次性的个人快速解决方案.当旧工具仍然执行我(和其他人)所需要的很少时,就不需要设置和学习新工具. (2认同)