linux下配置java环境及问题

一:下载jdk

     下载稳定版本http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html

  命令:wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

二:配置(源码配置方式)

     

配置步骤

1:创建目录:

  sudo mkdir /usr/local/java 然后输入密码

2:将jdk-7u79-linux-x64.gz 移动到新建的目录(/usr/local/java/)下面,然后解压jdk-7u79-linux-x64.gz

    解压源码包:tar -zxvf jdk-7u79-linux-x64.gz

3:配置系统环境变量

第一种方式:
#export JAVA_HOME=/usr/local/java/jdk1.7.0_79
#export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
#export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

第二种方式:

JAVA_HOME=/usr/local/java/jdk1.7.0_79
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME PATH CLASSPATH

这里的export的作用我搜索了一下其作用:总结如下

如果你没有加export,然后直接就是"source /etc/profile" 的话,这个配置没有写入到系统文件中;

当你加上export的时候,在执行"source /etc/profile"的话,这个配置会写入到配置文件中;

不知理解是否正确;

刚刚问了一位大牛,给了我一个截图,说的是如下:

如果这个配置需要在其他子程序执行,则需要用export来使得变数变成环境变量 export PATH

 如果该变数为扩增变数内容时,则可用"$变数名称"或${变数}累加内容;PATH="$PATH":/home/bin;或者PATH=${PATH}:/home/bin

一般情况下,此时java环境已经配置好了,但是如果你的系统已经配置过了java环境,那么就可能有问题;如下

(三):问题

   在我的服务器上,系统本身就已经安装了java;使用命令查看jdk信息

  rpm -qa | grep java

我的如下:

然后本来在上一步就已经配置好了环境的,但是你使用java -version查看的时候显示的jdk确不是自己想要的, 如下图

可以看到如果你用javac -version可以看到显示的的确是我自己的版本,但是java -version显示的却是系统自带的openjdk的版本。我google搜索了,百度了,最后

去查看 /usr/bin下面用"ls - l"命令得到下面的命令,其中可以看到java的属性

可以看到这里的java指向根本就不是我所配置的java目录,所以我现在是需要讲其指向我配置的目录;配置如下

在usr/bin目录下:

mv java java.bak

ln -s /usr/local/java/jdk1.7.0_79/bin/java /usr/bin/java

配置完再查看如下图

在用java -version就可以看到是自己配置的java版本了  

四:总结

  最近会记载自己配置这些的过程和配置过程中遇到的问题,接下来会配置下nginx,没试过,还不知道自己折腾的成功,而且时间比较急,说不定又是老大自己弄了,还是我自己先试试了。还有一篇会记在mysql的安装。这个我可折腾了好久呀。努力,加油,现在是拓展知识阶段。。。

原文地址:https://www.cnblogs.com/wuhao1991/p/4914987.html