非Linux系统启动Tomcat时JAVA_HOME和JRE_HOME环境变量未定义错误解析与解决
1. 误差来源

在非linux系统(即外部)上启动tomcat时显示错误
2、错误报告原文
JAVA_HOME 和 JRE_HOME 环境变量均未定义
运行该程序至少需要其中一个环境变量
3. 翻译错误
JAVA_HOME 和 JRE_HOME 环境变量均未定义
运行该程序至少需要以下环境变量之一
4、错误的思维
我已经在/etc/profile文件中明确添加了java和tomcat的环境变量。为什么仍然出现错误?但是在服务器上启动tomcat时,却没有报这个错误。
5.粗略分析错误原因
服务器上启动tomcat不报错的原因是启动tomcat时在/etc/profile文件中找到了java和tomcat的环境变量,所以启动顺利。外部启动tomcat时,tomcat程序首先调用startup.sh脚本文件startup.sh。 sh 再次调用 catalina.sh 脚本文件,而 cat alina.sh 脚本文件会在 setclasspath.sh 脚本文件中搜索 tomcat 变量环境。这是因为setclasspath.sh文件是tomcat变量环境脚本。这是因为这个脚本默认不申请脚本开头的java和jdk变量。环境是刘静的,所以报错。 setclasspath.sh的路径为:
/usr/local/tomcat/bin/setclasspath.sh
(因为我的tomcat安装在/usr/local路径下,所以我的就是这个,你要根据你的安装路径去搜索)
6、检查setclasspath.sh脚本文件,准确分析原因。
setclasspath.sh脚本原文及其中文解释如下:
#!/bin/sh
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for