source配置文件不生效 原创 2016年03月14日 18:43:55 3558 问题背景: 升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME

本文主要是介绍source配置文件不生效 原创 2016年03月14日 18:43:55 3558 问题背景: 升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

source配置文件不生效

原创  2016年03月14日 18:43:55

问题背景:

      升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME,没有问题。

     初步推断是没有source,sourec .bashrc 之后查看$JAVA_HOME,$JRE_HOME变成1.8版本,但启动时还是报错,这就奇怪了,执行java -version查看到的版本号是1.8,查看/etc/profile,.bashrc 中配置的JAVA_HOME都没有问题。

     新开个putty窗口,重新登录后,查看JAVA_HOME还是原来的配置1.7版本,新的配置没有生效,执行java -version命令看到的JDK却是1.8版本,推断可能是环境变量出了问题,

检查了/etc/profile,.bashrc没有问题,查看了用户用的shell类型(bsh,csh设置环境变量的命令不一样)都是bsh,在/etc/profile中配置如下

#JDK Environment
export JAVA_HOME=/opt/java/jdk1.8.0_74
export JRE_HOME=/opt/java/jdk1.8.0_74/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JAVA_HOME}/jre/lib:${JAVA_HOME}/lib/tools.jar
export PATH=${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin:${TOMCAT_HOME}/bin

为了检查每个每个环境变量是否生效,每个都echo 了一遍,发现执行echo $PATH的时候,咦里面居然包括原来jkd 1.7路径,进一步推断出是环境变量的问题,设置的环境变量是生效了,但是登录的时候被重新覆盖了。

 问题已经明确了,需要找出JAVA_HOME变量在哪被覆盖,用命令搜居然没搜到,后来才想起环境配置文件的加载顺序...汗。。。

终于在.profile中发现JAVA_HOME的配置,找到问题所在,注释掉就OK了


原因分析:

  linux登录是读取环境配置文件的顺序如下

  1.   /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

而项目组配置文件就/etc/profile,.bashrc两个,而忽视了对其他配置项的检查,前面配置的JAVA_HOME在~/.profile中覆盖了,导致了前面所描述的问题

~/.bash_profile在SUSE中这个文件命名为.bashrc


解决方案:

注释掉多余的环境变量配置

这篇关于source配置文件不生效 原创 2016年03月14日 18:43:55 3558 问题背景: 升级jdk 1.8之后,启动时报版本编译问题,查看$JAVA_HOME,$JRE_HOME的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1086876

相关文章

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2