CLASSPATH环境变量,没必要再配置了

最近有个项目在部署时,出现了一个奇怪的问题:

本地调试都是正常的,部署到服务器后,就出现了找不到配置文件的报错,而配置文件经确认又都是存在的。折腾了一番后,发现元凶是服务器上的CLASSPATH环境常量

正常情况下,我们都是通过如下方式获取项目的class目录路径的:

XXX.class.getResource("/").getPath();

但是,如果系统中配置了CLASSPATH这个环境变量后,上述代码就变成了获取CLASSPATH中指定的路径!自然,系统也就找不到你新项目class目录下的配置文件了。。。

把CLASSPATH变量清空,一切正常!

曾经,我在一篇介绍Java环境变量的博客中,看到过这么一句话:“和环境变量有关的奇怪问题中,80%都是CLASSPATH这个环境变量引起的”,今天亲身体会,果然诚不欺我

其实,我们现在部署Java环境,没必要再配置CLASSPATH这个环境变量了(除特殊情况)。不配置JRE正常跑,配置了反而有坑,何必呢?

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在CentOS 7中配置Java环境变量有两种方式,可以配置到用户环境变量或者系统环境变量。对于初学者来说,建议先学习配置用户环境变量,因为在真正部署项目时,一般不会使用root用户来进行部署。而配置系统环境变量可能需要更高的权限,并且稍有不慎可能导致系统崩溃。 在CentOS 7上,默认是自带OpenJDK的,可以通过运行`java -version`命令来确认安装的版本信息。然而,由于OpenJDK环境不完整,缺少一些必要的jar包,即使配置环境变量,`javac`等命令仍然不能正常使用。因此,建议先卸载自带的OpenJDK,然后安装自己下载的jdk版本,并进行环境变量配置。 如果想让所有用户都能够使用Java,就需要配置系统环境变量。可以通过以下步骤来配置Java系统环境变量: 1. 打开命令终端,切换到root用户。 2. 将下载的Java安装包复制到`/usr/share/`目录下。 3. 切换到`/usr/share/`目录下,并解压安装包。 4. 使用`vi`编辑器打开环境变量配置文件`/etc/profile`,在文件末尾添加以下代码,并保存退出: ``` JAVA_HOME=/usr/share/jdk1.8.0_241 # Java的安装目录 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH ``` 5. 使用`source /etc/profile`使环境变量即时生效。 6. 使用`java -version`和`javac`命令来测试是否配置成功,如果能够正常显示Java版本信息和Java的用法,则说明安装和配置正确。 通过以上步骤,就可以在CentOS 7中成功配置Java环境变量。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值