散仙总结如下的几个步骤:
序号 | 描述 |
1 | 下载Linux版的JDK |
2 | 如果是在windows下载的,需要上传到Linux上 |
3 | 解压到/usr/local/下 tar xvf jdk-7u25-linux-x64.gz -C /usr/local/ |
4 | 写一个shell脚本文件,把所有的环境变量提前设置好,散仙在这里命名java.sh |
5 | 上传这个文件到/etc/profile.d目录下 |
6 | 创建一个软连接指向jdk目录ln - /usr/local/jdk1.7.0_25/ /usr/local/jdk |
7 | Ctrl+D退出shell终端,然后按回车键进入 |
8 | 如果操作都正确的话,执行java -version,便可以显示JDK的版本号了 |
看下,散仙的java.sh的路径
内容如下:
export PATH=.:$PATH export JAVA_HOME="/usr/local/jdk" export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/home/search/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/conf export CLASSPATH=.:$CLASSPATH:$HADOOP_HOME/lib export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export ANT_HOME=/usr/local/ant export CLASSPATH=$CLASSPATH:$ANT_HOME/lib export PATH=$PATH:$ANT_HOME/bin export MAVEN_HOME="/usr/local/maven" export CLASSPATH=$CLASSPATH:$MAVEN_HOME/lib export PATH=$PATH:$MAVEN_HOME/bin
为什么,放在java.sh里面的环境变量会被执行加载呢?
答案就在/etc/profile里面,我们打开这个脚本文件,看里面的最后一段代码,就会恍然大悟,里面的内容如下:
for i in /etc/profile.d/*.sh ; do //会加载/etc/profile.d下面的所有sh文件,故我们的脚本会被执行 if [ -r "$i" ]; then if [ "${-#*i}" != "$-" ]; then . "$i" else . "$i" >/dev/null 2>&1 fi fi done unset i unset -f pathmunge
至此,我们执行,java -version就可以成功看到我们的安装的JDK版本信息:
[root@ganglia ~]# java -version java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b15) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode) [root@ganglia ~]#
当然,我们也可以安装在/etc/profile里面,可以根据自己的具体情况而定。