jdk - mac卸载java




Mac OS X和多个Java版本 (6)

我如何在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?

谢谢
Dakky


对于macOS Sierra 420

本指南由各种来源(上述回复以及其他帖子)拼凑而成,并且完美无缺。

如果你还没有安装自制软件。

请参阅https://brew.sh/

1.安装jenv

brew install jenv

2.将jenv添加到bash配置文件中

if which jenv > /dev/null; then eval "$(jenv init -)"; fi

3.将jenv添加到你的路径

export PATH="$HOME/.jenv/shims:$PATH"

4.点击“caskroom / versions”

brew tap caskroom/versions

5.安装最新版本的java

brew cask install java

6.安装Java 6(或7或8任何你需要的)

brew cask install java6
#brew cask install java7
#brew cask install java8

7.检查安装

所有Java版本都安装在这里: /Library/Java/JavaVirtualMachines让我们看看。

ls -la /Library/Java/JavaVirtualMachines

8.一次一个地向jenv添加每条路径。

我们需要在版本文件夹中添加“/ Contents / Home”。 警告:使用机器上的实际路径......这些只是示例

jenv add /Library/Java/JavaVirtualMachines/1.6.0___EXAMPLE___/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk___EXAMPLE___/Contents/Home

9.检查jenv注册是否正常

jenv versions

10.设置Java版本(可循环使用)

其中XX与上面版本列表中的某个项目匹配。

jenv global XX

检查Java版本

java -version

检查jenv版本

还应指出当前版本正在使用星号。

jenv versions

DONE

快速参考

改变java版本

...查看可用java版本的列表

jenv versions

...然后,XX在上面列表中匹配一个项目

jenv global XX

Jenv在Mac Sierra上:

如果安装后不工作,请执行此错误修复以将java可执行文件添加到路径

export PATH="$HOME/.jenv/shims:$PATH"

即使eval "$(jenv init -)"可以完成这项工作。 原因是/ bin文件夹不再像它在主页中描述的那样,而shim文件夹被用作/ bin。

  • 确保〜/ .jenv在那里
  • which java可能打印/库/ ...
  • 杰夫全球1.8
  • jenv shell 1.8

最终, which java给你:

/Users/xxxx/.jenv/shims/java


卸载jdk8,安装jdk7,然后重新安装jdk8。

我在它们之间切换的方法(在.profile中):

export JAVA_7_HOME=$(/usr/libexec/java_home -v1.7)
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)

alias java7='export JAVA_HOME=$JAVA_7_HOME'
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'

#default java8
export JAVA_HOME=$JAVA_8_HOME

然后你可以简单地在终端中键入java7java8来切换版本。

(编辑:更新为Java 9增加了Dylans改进)


在Mac上管理多个java版本的最简单的方法是使用Homebrew

Homebrew ,使用:

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

正如http://hanxue-it.blogspot.ch/2014/05/installing-java-8-managing-multiple.html所见,这些是要遵循的步骤。

  1. 安装自制软件
  2. 安装自制软件jenv
  3. 安装自制酒桶
  4. 使用cask安装特定的java版本(参见下面的“homebrew-cask versions”段落)
  5. 为jenv添加此版本来管理它
  6. 检查版本是否正确地由jenv管理
  7. 对每个需要的Java版本重复步骤4到6

自制酒桶版本

使用以下命令将“caskroom / versions”水龙头添加到自制软件:

brew tap caskroom/versions

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

brew cask search java

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

brew cask install java7
brew cask install java6

并像往常一样添加它们由jenv管理。

jenv add <javaVersionPathHere>

我认为这是最简单最简单的方法。

另一个需要注意的重要事项,如Mac OS X 10.6.7中提到的Java Path当前JDK令人困惑

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

您可以使用/usr/libexec/java_home -V来检查已安装版本的路径,请参阅如何检查Java JDK是否安装在Mac上?

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

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

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

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

资源


我正在使用Mac OS X 10.9.5。 当我需要一个版本运行应用程序A并为应用程序B使用另一个版本时,我在我的机器上管理多个JDK / JRE。

在网上获得一些帮助后,我创建了以下脚本。

#!bin/sh
function setjdk() {
  if [ $# -ne 0 ]; then
   removeFromPath '/Library/Java/JavaVirtualMachines/'
   if [ -n "${JAVA_HOME+x}" ]; then
    removeFromPath $JAVA_HOME
   fi
   export JAVA_HOME=/Library/Java/JavaVirtualMachines/$1/Contents/Home
   export PATH=$JAVA_HOME/bin:$PATH
  fi
 }
 function removeFromPath() {
  export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
 }
#setjdk jdk1.8.0_60.jdk
setjdk jdk1.7.0_15.jdk

我把上面的脚本放在.profile文件中。 只要打开终端,键入vi .profile,将脚本添加上面的代码片段并保存。 一旦你输出source .profile ,这将运行你的配置文件脚本,而不必重新启动终端。 现在键入java -version它应该显示1.7作为你当前的版本。 如果打算将其更改为1.8,则注释行setjdk jdk1.7.0_15.jdk并取消注释行setjdk jdk1.8.0_60.jdk 。 保存脚本并使用source命令重新运行它。 当我必须编译2个需要不同java版本的Maven项目时,我使用这种机制来管理多个版本的JDK / JRE。


正如在这个website上发现那么让我们开始安装jEnv

  1. 在终端中运行它

    brew install https://raw.github.com/gcuisinier/jenv/homebrew/jenv.rb
    
  2. 将jEnv添加到bash配置文件中

    if which jenv > /dev/null; then eval "$(jenv init -)"; fi
    
  3. 当你第一次安装jEnv时,它不会有任何与之相关的JDK。

    例如,我刚刚安装了JDK 8,但jEnv不知道它。 检查jEnv上的Java版本

    目前它只能在系统上找到Java版本(jre)。 *显示当前选择的版本。 与rvm和rbenv不同,jEnv无法为您安装JDK。 您需要从Oracle网站手动安装JDK。

  4. 从Apple网站安装JDK 6。 这将在/System/Library/Java/JavaVirtualMachines/安装Java。 我们从Apple网站安装Java 6的原因是SUN没有为MAC提供JDK 6,所以Apple创建/修改了自己的部署版本。

  5. 同样安装JDK7和JDK8。

  6. 将JDK添加到jEnv。

    JDK 6:

    JDK 7:

    JDK 8:

  7. 检查使用jenv安装的java版本

  8. 所以现在我们的系统上有3个Java版本。 要设置默认版本,请使用该命令

    jenv local <jenv version>
    

    例如 - 我想让Jdk 1.6启动IntelliJ

    jenv local oracle64-1.6.0.65
    
  9. 检查Java版本

    java -version

而已。 我们现在有多个版本的Java,我们可以轻松地在它们之间切换。 jEnv还具有其他一些功能,例如Gradle,Ant,Maven等的包装,以及在全局或本地设置JVM选项的功能。 查看文档以获取更多信息。







multiple-versions