1.linux下jdk环境变量配置

是否需要配置环境变量,主要看java -version 显示的版本是否为你期望的版本

1.1 不需要配置环境变量的情况

使用java -version查看,版本显示正好是你刚刚安装的版本,这一般为rpm包安装的情况

rpm安装命令:rpm -ivh /data/software/jdk-7u67-linux-x64.rpm

1.2 需要配置jdk环境的情况

java -version显示的版本号不对。一般是直接解压的jdk都需要配置。

1.3 jdk环境变量配置及生效

修改/etc/profile

(有些可能改对应用户下的隐藏文件.base_profile或.profile,如root用户,对应/root/.bash_profile,/root/.profile)

vi /etc/profile

在末尾加入

export JAVA_HOME=/usr/java/jdk1.7.0_67

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin

然后执行source /etc/profile,执行可使之马上生效。

2.配置了环境变量后不生效的解决方案

问题:在/etc/profile中配置了环境变量,执行java -version发现版本还是不对,怎么办?

解决步骤

1、关闭ssh连接,重新连接,再次执行java -version查看版本,有些可能是缓存,重新连接即可

2、步骤1没解决,执行步骤2,检查/etc/profile中是否书写有误,如英文单词写错了。

3、步骤2没解决,执行步骤3,看看是否有其他配置文件中配置了环境变量。

如(有些可能改对应用户下的隐藏文件.base_profile或.profile,如root用户,对应/root/.bash_profile,/root/.profile)

通过echo $PATH和echo $CLASSPATH查看,看是否有其他路径的jdk版本存在。

4、查看PATH和CLASSPATH都没有问题,但java -version还是不对怎么办?

终极绝招:分析PATH路径,

[root@localhost ~]# echo $PATH
    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/bin:/usr/java/jdk1.7.0_67/bin:/root/bin

根据PATH中的路径从前到后的顺序查找java文件

即查找以下路径中是否存在java文件

/usr/lib64/qt-3.3/bin

/usr/local/sbin

/usr/local/bin

/sbin

/bin

/usr/bin

/usr/java/jdk1.7.0_67/bin

/root/bin

也可以使用find / -name "java"查找所有的java文件,然后看看这些java文件是否在PATH对应的目录中,

一般出问题的都在/usr/bin路径下的java文件,该文件是个链接文件,指向的真实文件并非你需要的jdk版本,可以把该文件删除,

然后重新安装jdk(rpm -ivh /data/software/jdk-7u67-linux-x64.rpm )。

如下是错误的链接文件:

[root@localhost bin]# ll /usr/bin/java

lrwxrwxrwx. 1 root root 22  8月  6 12:16 java -> /etc/alternatives/java

linux下jdk环境变量配置深度分析----解决环境变量不生效的问题的更多相关文章

  1. linux下jdk的安装配置

    1.下载jdk:地址 选中你选择的版本,下载linux版本对应你系统的32位或64位. 我这里选择的是64位. 2.使用你的ssh直连工具把安装包丢到/usr/local/目录下 3.解压安装jdk ...

  2. windows+linux下jdk安装及java环境变量配置

    对于初学java的用户来说,可能第一件要做的事情就是安装jdk及配置环境,以下内容主要讲述windows及linux下jdk的安装以及环境变量的配置. 1.首先下载相应平台可用版本jdk安装文件,可以 ...

  3. hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

    Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...

  4. Linux下jdk的安装和环境变量的配置

    Linux下jdk的安装和环境变量的配置 一.jdk的下载 方式一:在官网下载 http://www.oracle.com/technetwork/java/javase/downloads/inde ...

  5. Linux下Jdk的安装和jdk环境变量的设置

    我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...

  6. linux下lamp.sh一键配置lamp环境流程

    linux下lamp.sh一键配置lamp环境流程 一.总结 一句话总结: 2.将网站从github上clone到/data/www/网站域名/ 3.更改网站目录权限:chown -R apache: ...

  7. 解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境

    原文地址:解决 Ubuntu 18.10 使用较新的独立显卡输出无法初始化图形界面并配置深度学习开发环境 0x00 配置 硬件 OS: Ubuntu 18.10 Base Board: ASUS WS ...

  8. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  9. linux下WEB服务器安装、配置VSFTP

    转载  http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...

随机推荐

  1. js变量类型详解

    <html> <title>js变量类型详解</title> <meta http-equiv="content-type" conten ...

  2. BZOJ2272: [Usaco2011 Feb]Cowlphabet 奶牛文字

    n<=250个大写字母和m<=250个小写字母,给p<=200个合法相邻字母,求用这些合法相邻字母的规则和n+m个字母能合成多少合法串,答案mod 97654321. 什么鬼膜数.. ...

  3. redis持久化机制【十三】

    一.Redis提供了哪些持久化机制: redis的高性能是因为其所有数据都存在了内存中 ,为了使redis在重启之后数据仍然不丢失,需要将数据同步到硬盘中,这一过程就是持久化. redis支持两种方式 ...

  4. 解决Android Studio2.0不能使用HttpClient

    在build.gradle中的android {}中加上useLibrary 'org.apache.http.legacy'

  5. Redundant Paths-POJ3177(强连通缩点)

    http://poj.org/problem?id=3177 题目大意:给你几个点和几条边   求你能加几条边  就可以让每一个点到达任意点都有两种方法. Description In order t ...

  6. JSP点击计数器

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/hits-counter.html: 一个点击计数器能得知关于网站某个特定页面的访问量.假设人们第一次登陆 ...

  7. JSP的调试

    以下内容引用自http://wiki.jikexueyuan.com/project/jsp/debugging.html: 一.使用System.out.println() System.out.p ...

  8. Java这样学,Offer随便拿,学习方法和面试经验分享

    Java这样学,Offer随便拿,学习方法和面试经验分享 学习中:https://mp.weixin.qq.com/s/iSutLzqCiPMWwm_Rm_2oPw

  9. C# 最基本的涉及模式(单例模式) C#种死锁:事务(进程 ID 112)与另一个进程被死锁在 锁 | 通信缓冲区 资源上,并且已被选作死锁牺牲品。请重新运行该事务,解决方案: C#关闭应用程序时如何关闭子线程 C#中 ThreadStart和ParameterizedThreadStart区别

    C# 最基本的涉及模式(单例模式) //密封,保证不能继承 public sealed class Xiaohouye    { //私有的构造函数,保证外部不能实例化        private  ...

  10. SDUST 2844-Mineral Water(数学)

    Mineral Water nid=24#time" title="C.C++.go.haskell.lua.pascal Time Limit1000ms Memory Limi ...