远程启动tomcat报错-Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
问题描述
远程连接服务器进行应用部署,执行到 tomcat的启动脚本的时候,报错!
String sourcePath = config.getString(systemId + "SourcePath");
String targetPath = config.getString(systemId + "TargetPath");
String tomcatPath = config.getString(systemId + "TomcatPath");
boolean uploadFlag = UploadUtil.uploadFile(connection, sourcePath, targetPath);
if (uploadFlag){
//执行tomcat的启动脚本
String tomcatshell = "sh "+ tomcatPath + "killTomcat.sh" + " && sh "+ tomcatPath + "bin/startup.sh" ;
int resCode = UploadUtil.exec(connection, sshIp, sshUserNm, tomcatshell);
System.out.println(resCode);
}else {
System.err.println("上传 失败");
}
控制台报错
either the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program
解决方案
1./etc/profile 文件中已经配置了java环境变量;
export JAVA_HOME=/weblogic/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
2.java -version 输出如下:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
说明我的环境变量是配好的,但是在startup.sh 执行的时候没有生效,所以我想在startup.sh文件中
让环境变量生效;
3.vim 你的tomcat路径/bin/startup.sh
4.在首行下新增如下命令
source /etc/profile
source ~/.bash_profile
5.保存退出,重新远程执行应用部署,重启成功!