MAC下安装多版本JDK和切换几种方式

需要提一下的是,直到现在,我仍然是Windows用户(XP / 7)和Linux(Ubuntu
/Mint/Cent OS)。在写这篇文章的时候,我的MacBook Pro上运行的是OS X
Yosemite Version 10.10.5。

MAC下安装多版本JDK和切换几种方式

环境:

MAC AIR,OS X 10.10,64位

历史:

过去 Mac 上的 Java 都是由 Apple 自己提供,只支持到 Java 6,并且OS X 10.7
开始系统并不自带(而是可选安装)(原自带的是1.6)。

后来 Apple 加入 OpenJDK 继续支持 Java 6,而 Java 7 将由 Oracle
负责提供。

在终端中输入java
-version可查看当前JDK版本信息,如果还没安装任一JDK,就会提示安装,点击后会跳到oralce
java的下载网页。

安装包(注意都是下载mac下的dmg安装包):

JDK 1.6(验证OS X 10.10可用):

JDK
1.7&1.8(1.7在页面下方):

安装:

dmg安装包,安装过程如一般程序,略

最终安装目录(版本号根据情况略有不同):

JDK 1.6:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk

JDK 1.7&1.8:

/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk

/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

推荐方式A:

vi .bash_profile 输入以下内容
然后执行source .bash_profile生效新配置

# Mac默认 JDK 6(Mac默认自带了一个jdk6版本)
export JAVA_6_HOME=`/usr/libexec/java_home -v 1.6`
# 设置 JDK 7
export JAVA_7_HOME=`/usr/libexec/java_home -v 1.7`
# 设置 JDK 8
export JAVA_8_HOME=`/usr/libexec/java_home -v 1.8`

#默认JDK 6
export JAVA_HOME=$JAVA_6_HOME

#alias命令动态切换JDK版本
alias jdk6=”export JAVA_HOME=$JAVA_6_HOME”
alias jdk7=”export JAVA_HOME=$JAVA_7_HOME”
alias jdk8=”export JAVA_HOME=$JAVA_8_HOME”

默认jdk为1.6,执行jdk6或jdk7或jdk8后,通过java
-version可看到已切换成相应版本。

推荐方式B:

1、安装jenv

执行:curl -s get.jenv.io | bash

jenv参考(关键是方便别的java工具管理):

2、进入jenv目录,然后建相关目录:

cd ~/.jenv/candidates/
mkdir java
cd java
mkdir 1.6
mkdir 1.7
mkdir 1.8

3、执行以下命令:

ln -s
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin
澳门新葡亰手机版,~/.jenv/candidates/java/1.6
ln -s
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin
~/.jenv/candidates/java/1.7
ln -s
/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin
~/.jenv/candidates/java/1.8

大功告成:

1、最先默认的jdk一般是你最后安装的那jdk。

2、切换版本:jenv use java 1.8

3、设置缺少版本:jenv default java 1.6

不推荐方式:

#区别在于:此部分是写死路径的
export
JAVA_6_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export
JAVA_7_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
export
JAVA_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home

#默认JDK 6
export JAVA_HOME=$JAVA_6_HOME

#alias命令动态切换JDK版本
alias jdk6=”export JAVA_HOME=$JAVA_6_HOME”
alias jdk7=”export JAVA_HOME=$JAVA_7_HOME”
alias jdk8=”export JAVA_HOME=$JAVA_8_HOME”

根据苹果的官方说明,Mac OS X 10.5 及以后的版本应该使用
/usr/libexec/java_home 命令来确定 JAVA_HOME
(推荐方式A就是依据此原理)。

例:

//查看默认jdk的安装路径
/usr/libexec/java_home

//查看jdk 1.6的安装路径
/usr/libexec/java_home -v 1.6

而在此之前的版本由于没有这个命令,则应该使用固定的 /Library/Java/Home
目录,也就是直接在环境变量中写死。

//下面的几个目录其实是等价的链接关系,都指向的是默认的JDK。但是硬编码方式,不推荐。
JAVA_HOME=/Library/Java/Home
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

因为不同的 Java 版本和不同的 Java
实现可能安装在了不同的目录下,所以使用硬编码的目录会有如下缺点:

安装或升级新的 Java 后需要重新设置 JAVA_HOME(尤其是带版本号的目录)
无法适应不同的 Java 实现(Apple和Oracle的)
其他分析:
1、打开终端输入执行:which java,显示/usr/bin/java
2、执行cd /usr/bin/,再执行ls -ll |grep
java,可看到java此命令是link到/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
3、执行:cd /System/Library/Frameworks/JavaVM.framework/Versions/
进入后,再执行ls -ll,可看到Current ->
A,也就是Current目录link到A目录。而A目录在安装第一个JDK时就存在,用来JDK多版本管理使用的(猜测是使用到JAVA_HOME)。
另外:
/System/Library/Frameworks/JavaVM.framework/Versions/
下有多个不同(低)版本的目录,但它们链接的都是 CurrentJDK
目录。总之,这些Java都是苹果提供的Java,Oracle 或 OpenJDK 提供的 Java
不在此目录中。
据说以前可在系统设置中“Java
Preferences”对话框可设置当前jdk,再自动调整A目录内容,但我没看到过。
Java 7 需要 Mac OS X 10.7.3 (Lion)
及以上版本才能安装。在浏览器中运行Java要求是64位浏览器,所以不支持Chrome,
Safari 或 Firefox 没问题。

本文永久更新链接地址:

环境: MAC
AIR,OS X 10.10,64位 历史: 过去 Mac 上的 Java 都是由 Apple
自己提供,只支持到 Java 6,并且OS X 10…

背景设黑

打开终端,到Terminal menu ->
Preferences
,选择Settings选项,将Protheme设置为默认。

其他

如何测试一切正常

冒烟测试(译者注:冒烟测试是对系统功能的简单测试,强调功能的覆盖率,不验证功能的正确性)可以验证所有安装的工具功能上是否协调,它使用
JHipster 产生一个应用并更新到git仓库。

JHipster是一个 Yeoman generator,过去常用语创建一个
Spring Boot +
AngularJS 的项目。

如果有什么建议请留下评论,谢谢。

IntelliJ

一般情况下IIntelliJ都是我最喜欢用的IDE,主要是因为前端开发需要的功能几乎都差不多。想安装它,去下载页面,按照指导安装:

安装指导

  • 下载 idea-15.dmg OS X的磁盘镜像文件。
  • 将它挂载为系统中的另一个磁盘。
  • 将IntelliJ IDEA 拷贝到应用文件夹下。

Maven

按照上面指明的方式设置好JAVA_HOME之后,到Apache Maven
Downloads网址,下载.tar.gz 或
.zip文件,然后自选一个文件夹解压——我把它放在/opt文件夹下:

tar xzvf apache-maven-3.3.3-bin.tar.gz

建议创建一个链接到Maven安装,这样假设你想更新Maven版本的时候,只需要改变链接目标:

ln -s /opt/apache-maven-3.3.3/opt/maven

然后在环境变量中设置Maven:

vim ~/.bash_profile

export M2_HOME=/path/to/maven

export M2=$M2_HOME/bin

export PATH=$M2:$PATH

关闭终端,打开一个新的。如果你想现在获取maven版本,你应该像下面这样:

ama$ mvn -version

Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T13:57:37+02:00)

Maven home: /opt/maven

Java version: 1.8.0_65, vendor: Oracle Corporation

Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "mac os x", version: "10.10.5", arch: "x86_64", family: "mac"

还有一个选择是使用Homebrew,运行下面的命令:

brew install maven

Git

打开一个终端窗口并输入下列命令:

$git --version

下一步你需要安装Xcode。如果想开发Apple TV, Apple Watch, iPhone, iPad,
and Mac上的应用,这是一个非常全面的开发者工具集。包括Xcode
IDE,模拟器,以及所有创建IOS,watchOS,tvOS和OS
X应用所需要的工具和框架(还包括GNU Compiler Collection-gcc)。

你可以按照上面的指示安装,但如果你不想什么都从安装包获取,你可以安装一个Homebrew(“Homebrew可以安装你需要而Apple不需要的程序。”),并运行下面的命令:

brew install gcc

brew install git

不论使用哪种方法,Git安装完成后,初始命令git -version可以看到安装版本:

$ git --version

git version 2.4.9 (Apple Git-60)

如果你使用Github,推荐你再安装一个Github Desktop。