在用jenkins自动部署到远程tomcat时,打包、传包这些都没问题,在最后一步执行远程脚本启动tomcat时,报错了“Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program”。
错误提示倒是非常的清晰,“没有定义JAVA_HOME和JRE_HOME环境变量 至少需要这些环境变量之一才能运行此程序”,就是说找不到JAVA_HOME这个变量,但是我确定在目标机器上是有这个环境变量的,echo $JAVA_HOME也可以打印出来,而且更诡异的是,我在目标机器上手动执行这个脚本的时候,是没有任何问题的。
脚本很简单,跟jenkins在本机自动部署一样,最后一步也就是启动tomcat,并没有什么特殊的操作,仔细检查了一下,也没啥特殊字符,真实见鬼了,百度了一下,发现已经有前辈高人碰见过这个问题了,解决思路也比较真实,既然你没有,既然你要,那就给你一个。。。
解决方案:
在tomcat的catalina.sh文件里加入JAVA_HOME环境变量的配置,就写在文件开头处就行
搞定,收工!!!
评论