安装JDK
主要以CentOS 7和Ubuntu 18.04为例安装Open-jdk-8:
# CentOS 7:
$ sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# Or on Ubuntu:
$ sudo apt-get -y install openjdk-8-jdk
# or openjdk11
$ sudo apt install openjdk-11-jdk
等安装完成之后再运行如下命令:
$ cd $(dirname $(dirname $(readlink $(readlink $(which javac)))))
$ pwd
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64
上面CentOS输出的open-jdk-8的安装目录。
在ubuntu18.04上的输出可能是这样的:
/usr/lib/jvm/java-8-openjdk-amd64
还可以像下面一样来做, 这样就可以不关心是哪个OS:
$ JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))
$ echo $JAVA_HOME
接着我我们给它建一个软连接,方便我们以后更换其它jdk:
先回到JDK安装目录的上一层
# get back to the parent directory of open-jdk installation directory:
$ cd ..
# create a soft link named java_latest
$ sudo ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.201.b09-2.el7_6.x86_64 java_latest
$ cd java_latest
$ pwd
/usr/lib/jvm/java_latest
现在我们修改~/.bash_profile来添加JAVA_HOME和PATH. 在Ubuntu18.04里面,这个文件是~/.profile. 当然也可以修改~/.bashrc来达到同样的效果。
vim ~/.bash_profile
在文件的最后添加:
export JAVA_HOME=/usr/lib/jvm/java_latest
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib:\$JAVA_HOME/lib/tools.jar
最后再来检查一下, 看看open-jdk-8是否安装成功:
$ java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)
$JAVA_HOME
/usr/lib/jvm/java_latest
是不是跟你预期的一样呢?
如果你是个java程序中,相信这些操作在你java development生涯会遇到超过50次。
如果在执行完yum安装之后,执行一下下面的代码
JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))
echo "export JAVA_HOME=$JAVA_HOME" >> ~/.bashrc
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> ~/.bashrc
JAVA_HOME以及$JAVA_HOME/bin会被自己添加到~/.bashrc的尾部. 这样就不用直接编辑~/.bashrc文件啦.(随便提一下,上面最后两行的单引号和双引号的作用不同, 不可互换.)