一、遇到问题
使用xshell远程连接虚拟机A(操作系统:centos7)后启动其上的.sh服务能够启动成功,但是在服务器管理工具xenCenter中启动.sh服务启动失败,提示没有找到java。
本文中提到的操作均是在虚拟机A(操作系统:centos7)中进行的操作,xshell和xenCenter只是连接工具。
二、原因定位
在服务器管理工具xenCenter中执行:java -version
,发现缺少java环境。
在xshell中执行:java -version
,java环境正常。
说明:使用的是同一个账号连接的,且执行的是同一个命令。感觉像分层隔离开的环境一样,很奇妙。
三、最终解决方法
执行source /etc/profile
使环境变量在当前会话下生效后,再次启动.sh服务启动成功。
(或者在配置环境变量后直接reboot搭建服务的虚拟机,使配置的环境变量永久生效再启动.sh服务)
四、原因
因为在搭建服务的时候修改了环境变量,但是操作系统服务没有重启过,使用source /etc/profile
只是使环境变量临时在**当前会话中生效 **了,没有永久生效。故:换过会话后需要重新执行source /etc/profile
使环境变量在当前会话下生效。