在oracle官网下载jdk安装包或者压缩包后, 放在/usr/lib/jvm 下解压/安装,jvm 文件夹需要自己创建。
x@x-ThinkPad-T460:/usr/lib/jvm$ ls
jdk1.7.0_80
之后,在 /etc/profile 文件下, 加上如下内容:
export java_home=/usr/lib/jvm/jdk1.7.0_80
export jre_home=/usr/lib/jvm/jdk1.7.0_80/jre
export classpath=.:$java_home/lib:$jre_home/lib:$classpath
export path=$java_home/bin:$jre_home/bin:$path
保存退出, source /etc/profile 生效。
如果系统中有其他版本的 jdk, 则需要做如下操作:
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.7.0_80/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.7.0_80/bin/javac 300
通过上面两行命令,将我们安装的 jdk 加入选单,之后通过:
sudo update-alternatives --config java
sudo update-alternatives --config javac
两条命令来选择使用 java 和 javac 工具的版本:
x@x-ThinkPad-T460:/usr/lib/jvm$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/java/jdk1.6.0_45/bin/java 300 auto mode
* 1 /usr/lib/java/jdk1.6.0_45/bin/java 300 manual mode
2 /usr/lib/jvm/jdk1.7.0_80/bin/java 300 manual mode
Press enter to keep the current choice[*], or type selection number:
根据提示操作即可。
最后, 可以使用 java –version 来检验自己安装的 jdk 是否正确
x@x-ThinkPad-T460:/usr/lib/jvm$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
如果是编译 android 系统的话, 可能还需要切换的 java 工具有:javadoc, javah, javap, javaws 切换方法同上, 否则会报类似如下的错误:
prebuilts/sdk/api/19.txt:23525: error 9: Removed public method android.telephony.gsm.SmsMessage.getPdu
prebuilts/sdk/api/19.txt:23526: error 9: Removed public method android.telephony.gsm.SmsMessage.getProtocolIdentifier
prebuilts/sdk/api/19.txt:23527: error 9: Removed public method android.telephony.gsm.SmsMessage.getPseudoSubject
prebuilts/sdk/api/19.txt:23528: error 9: Removed public method android.telephony.gsm.SmsMessage.getServiceCenterAddress
prebuilts/sdk/api/19.txt:23529: error 9: Removed public method android.telephony.gsm.SmsMessage.getStatus
prebuilts/sdk/api/19.txt:23530: error 9: Removed public method android.telephony.gsm.SmsMessage.getStatusOnSim