如何在MacOS上安装额外的java?我安装了jdk8,工作正常.但是现在,出于开发目的,我需要安装JDK7.当try 通过DMG文件安装旧版本时,我收到警告,已经安装了较新版本的java,安装程序退出.

    /usr/libexec/java_home -verbose
    Matching Java Virtual Machines (1):
        1.8.0_20, x86_64:   "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

       /Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home

除了这个,如何安装JDK7?

推荐答案

在Mac上管理多个java版本最干净的方法是使用Homebrew.

Homebrew以内,使用:

  • homebrew-cask来安装java的版本
  • jenv来管理已安装的java版本

如图http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html个所示,以下是要遵循的步骤.

  1. 安装brew 软件
  2. 安装brew 软件 jenv
  3. 安装brew 软件-cask
  4. 使用Cask安装特定的java版本(请参阅下面的"brew -Cask版本"段落)
  5. 添加此版本以供jenv管理
  6. 判断jenv是否正确管理了该版本
  7. 对您需要的每个java版本重复步骤4到6

brew -木桶版

使用以下方法将homebrew/cask-versions次点击添加到brew 中:

brew tap homebrew/cask-versions

然后您可以查看所有可用的版本:

brew search java

然后你可以安装你喜欢的版本:

brew cask install java7
brew cask install java6

并像往常一样由jenv管理.

jenv add <javaVersionPathHere>

我认为这是做这件事最干净、最简单的方法.


另一件需要注意的重要事情,如Mac OS X 10.6.7 Java Path Current JDK confusing中所述:

对于不同类型的JDK或安装,您将有不同的

您可以判断使用/usr/libexec/java_home -V安装的版本的路径,请参阅How do I check if the Java JDK is installed on Mac?

在Mac OS X Mavericks上,我发现如下:

1) 内置JRE默认值:/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

2) 从苹果下载的JDK:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/

3) 从Oracle下载的JDK:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home


资源

Java相关问答推荐

当一个链表中间有一个循环时,它的松散部分会发生什么?

Java:根据4象限中添加的行数均匀分布行的公式

无法找到符号错误—Java—封装

inteliJ中是否有一个功能可以自动在块注释中的/*后面添加一个空格?''

屏蔽字母数字代码的Java正则表达式

Android Studio—java—在onBindViewHolder中,将断点和空白添加到BackclerView中

缩小画布比例后更改滚动窗格的内部大小

有没有一种方法使保持活动设置专用于java.net.http.HttpClient的一个实例

Hibernate 6支持Joda DateTime吗?

如何判断一个矩阵是否为有框矩阵?

这是什么Java构造`(InputStream Is)->;()->;{}`

测试容器无法加载类路径初始化脚本

有没有更快的方法在N个容器中删除重复项?

JNI:将代码打包成自包含的二进制文件

FETCH类型设置为LAZY,但它仍会发送第二个请求

AbstractList保证溢出到其他方法

A.ForEach与For(类型a:集合)

Java 21中泛型的不兼容更改

组合连接以从两个表返回数据

Maven创建带有特定类的Spring Boot jar和普通jar