如何在MacOS上安装额外的java ?我安装了jdk8,运行正常。但是现在出于开发目的,我需要安装jdk7。当试图通过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 ?


当前回答

与@Vegard(轻量级)的精神相同:

用Homebrew安装所需的jdk 把这个jdk bash函数和一个默认值放在你的.profile中 jdk () { version = 1美元 export JAVA_HOME=$(/usr/libexec/ JAVA_HOME -v"$version"); java - version } export JAVA_HOME=$(/usr/libexec/ JAVA_HOME -v11);#默认版本 然后,你可以切换你的jdk jdk 9 jdk 11 jdk 13

基于https://github.com/AdoptOpenJDK/homebrew-openjdk。

其他回答

在这个网站上可以找到 让我们从安装jEnv开始

Run this in the terminal brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb Add jEnv to the bash profile if which jenv > /dev/null; then eval "$(jenv init -)"; fi When you first install jEnv will not have any JDK associated with it. For example, I just installed JDK 8 but jEnv does not know about it. To check Java versions on jEnv At the moment it only found Java version(jre) on the system. The * shows the version currently selected. Unlike rvm and rbenv, jEnv cannot install JDK for you. You need to install JDK manually from Oracle website. Install JDK 6 from Apple website. This will install Java in /System/Library/Java/JavaVirtualMachines/. The reason we are installing Java 6 from Apple website is that SUN did not come up with JDK 6 for MAC, so Apple created/modified its own deployment version. Similarly install JDK7 and JDK8. Add JDKs to jEnv. JDK 6: JDK 7: JDK 8: Check the java versions installed using jenv So now we have 3 versions of Java on our system. To set a default version use the command jenv local <jenv version> Ex – I wanted Jdk 1.6 to start IntelliJ jenv local oracle64-1.6.0.65 check the java version java -version

就是这样。我们现在有多个版本的java,我们可以很容易地在它们之间切换。jEnv还有其他一些特性,比如Gradle、Ant、Maven等的包装器,以及全局或本地设置JVM选项的能力。有关更多信息,请查看文档。

SDKMAN !是一个伟大的工具,使用多个版本的Java, Gradle, Groovy, Kotlin和其他JVM工具在Mac OS上。安装和使用文档很容易在主站找到。

(我没有隶属关系,只是一个快乐的用户)。

作为一个使用示例,如果我在终端窗口中输入以下内容,会有一个可用的Java SDK版本列表(为简洁起见,经过编辑):

$ sdk list java
Available Java Versions
   + 9ea170                                                                        
 > + 8u131                                                                         
     7u141-zulu                     

这里的+表示已安装的版本。>表示当前正在使用的版本。安装新版本:

$ sdk install java 7u141-zulu

要在此终端窗口中使用一个版本:

$ sdk use java 9ea170

首先,您需要确保安装了多个JAVA版本。 打开一个新的终端窗口并输入:

/usr/libexec/java_home -V

你的输出应该是这样的:

Matching Java Virtual Machines (2):
11.0.1, x86_64: "Java SE 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
1.8.0_201, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home

注意,有两个jdk可用。如果您没有注意到需要切换到的Java版本,请从https://www.oracle.com/java/technologies/downloads/下载并安装相应的版本 (JDK 8表示为1.8)。 安装了适当的JDK之后,重复此步骤。

注意要切换到的JDK版本。例如,“11.0”和“1.8”是上面示例中可用的JDK版本。 切换到所需的版本。例如,如果您希望切换到JDK 8,则输入如下一行: export JAVA_HOME=/usr/libexec/ JAVA_HOME

对于11.0,将“1.8”转换为“11.0” 4. 输入Terminal检查JDK版本:

java -version

如果正确地执行了所有步骤,那么JDK版本应该与您在最后一步中指定的版本相关联。 5. (可选)要使其成为JDK的默认版本,在Terminal中输入以下内容:

open ~/.bash_profile

然后,将步骤3中的终端输入添加到这个文件中:

切换到Java版本8

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

保存并关闭文件。

我按照下面的步骤链接- https://medium.com/@euedofia/fix-default- java-versionon -maven-on-mac-os-x-156cf5930078,它对我有效。

cd /usr/local/Cellar/maven/3.5.4/bin/
nano mvn
--Update JAVA_HOME -> "${JAVA_HOME:-$(/usr/libexec/java_home)}"
mvn -version

下面是一个更DRY的bash版本(基于Vegard的回答)

将1.7和1.8替换为您感兴趣的任何版本 你会得到一个叫'javaX'的别名;其中'X'是java版本(在下面的代码片段中是7 / 8),可以让您轻松切换版本

for version in 1.7 1.8; do
    v="${version: -1}"
    h=JAVA_"$v"_HOME

    export "$h"=$(/usr/libexec/java_home -v $version)

    alias "java$v"="export JAVA_HOME=\$$h"
done