如何在自定义位置的mac上安装java 7?

amo*_*mod 7 java macos java-7

我想默默地在mac上安装java 7.我无法找到相同的任何文档/链接.
我也不想在/ Library中.是否可以在任何自定义位置安装相同的内容.
我是非常新的mac任何帮助都非常感谢.

小智 21

不幸的是,OS X上的"标准"Java以非常非标准的方式打包.

它不像linux那么简单,下载的DMG为您提供了一个PKG文件,如果您运行它只是安装Java.如果您试图保持OS X附带的标准Java完好无损,那么这没有用.

我所做的是从Oracle下载DMG文件并打开它,但不是运行PKG,而是使用pkgutil来提取包的内容.您将找到名为jdk*.pkg的目录,在其中您将看到名为Payload的文件.这是一个GZipped CPIO文件,您可以通过对其进行提取并将其输入到cpio -zi中来提取它.从这里你将拥有一个名为Contents的目录,在它下面你会找到一个名为Home的目录.这个"Home"目录是您使用Linux tar.gz Java下载时可以获得的目录.你可以将它复制到你想要的任何地方,并将bin目录放在你的路径中,并将JAVA_HOME设置为它,你就可以了.


ckh*_*han 19

只是为了让@HawkMage中的步骤更加明确(并说明它们与JDK8一起使用):

  1. jdk-8u5-macosx-x64.dmg从Oracle 下载二进制文件(例如)
  2. 双击Finder以安装卷.使用"JDK 8 Update x.pkg"忽略窗口
  3. 用于pkgutil将包的内容扩展到临时目录:

    $ pkgutil --expand  /Volumes/JDK\ 8\ Update\ 05/JDK\ 8\ Update\ 05.pkg /tmp/jdkpkg
    
    Run Code Online (Sandbox Code Playgroud)
  4. 然后,切换到该目录并使用cpio扩展Payload文件:

    $ cd /tmp/jdkpkg
    $ cpio -i < ./jdk18005.pkg/Payload
    
    Run Code Online (Sandbox Code Playgroud)
  5. 最后,将Home目录移动到您希望JAVA_HOME居住的地方

    $ mv Contents/Home /mytools/jdk-1.8.0_05
    
    Run Code Online (Sandbox Code Playgroud)


Jay*_* Q. 4

就像在 Linux 中一样,您几乎可以在 Mac 上的任何位置安装 Java。您只需确保将Java 可执行文件添加到路径创建 java 可执行文件的符号链接并将其放在 /usr/bin/ 目录中,以便可以在任何地方执行。

将 Java 添加到路径:

1)修改.bash_profile在你的home目录中找到。

2)添加这一行:export PATH=/yourjavadir/bin:$PATH

3)保存并退出

4) 然后source .bash_profile重新加载文件。您只需执行此操作一次。

要创建符号链接:

ln -s /yourjavadir/java /usr/bin/java
Run Code Online (Sandbox Code Playgroud)