本文共 741 字,大约阅读时间需要 2 分钟。
原因:安装jdk的教程网上一大堆,但是大部分讲的都不是彻底的安装,在某些情况下系统找不到jdk环境变量。
那么,什么是不彻底的安装呢?我们通常是这么安装的:
1、下载一个jdk-7u80-linux-x64.tar.gz的压缩包
解压到某个目录,这里解压的目录为/data/program
2、设置环境变量,vim /etc/profile
3、使得当前的配置生效,输入:source /etc/profile
4、然后输入java-version
成功看到java的相关环境变量已经生效了。
问题:上述这样配置有什么问题呢?
我们试着输入:sudojava -version;发现:
发现,java命令找不到,我们不是配置了环境变量了,为什么sudo 不行呢?
原因:sudo是默认回去找系统默认的jdk,而系统默认的jdk路径是/usr/bin/下面的。
解决办法:
sudoupdate-alternatives --install /usr/bin/java java/data/program/jdk1.7.0_80/bin/java 300
sudoupdate-alternatives --install /usr/bin/javac javac/data/program/jdk1.7.0_80/bin/javac 300
sudoupdate-alternatives --config java
此时,输入sudojava -version,可以看到如下:
能够成功的找到我们配置好的java环境变量。
这么做的好处?
虽然,上述的默认系统java环境可以不配置。但是在分布式系统和集群中,可能会用到sudo命令,以及某些程序可能会去找系统的默认java环境。