我需要 JRE_HOME 吗? Tomcat java 环境版本差异
Do I need JRE_HOME? Tomcat java environment version difference
最近我在 tomcat 中 运行 一个基本的 webapp 时遇到了一个错误。
错误是 "class has been compiled by a more recent version of the Java Environment"。我正在使用 jdk-11.0.2 和 jre1.8.0_201。然后我遇到了关于设置 tomcat 服务器的 this 页面,上面写着:
If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used
所以我尝试删除 JRE_HOME 变量并解决了错误。
这是解决问题的正确方法吗?是否可以单独为 tomcat 设置 JRE_HOME invisible?我在其他任何地方都需要 JRE_HOME 吗?
So I tried deleting the JRE_HOME variable and that solved the error.
Is this the right method to solve the issue?
是的。根据您的信息,您的网络应用需要 Java 版本 >8 到 运行。而你在这里所做的是确保 Tomcat 正在使用 Java 11 到 运行 这是解决问题的正确方向。
另外,只设置JAVA_HOME
不设置JRE_HOME
是很正常的,因为如果不设置JRE_HOME
,后台启动脚本Tomcat (setclasspath.bat
) 将根据JAVA_HOME
值自动为您设置JRE_HOME
。
您还可以通过在 bin
文件夹中创建 setenv.sh
来自定义/覆盖 JRE_HOME
或 JAVA_HOME
。 setenv.sh
中的所有设置仅适用于 Tomcat :
export JAVA_HOME=/path/to/jdk-11.0.2
最近我在 tomcat 中 运行 一个基本的 webapp 时遇到了一个错误。 错误是 "class has been compiled by a more recent version of the Java Environment"。我正在使用 jdk-11.0.2 和 jre1.8.0_201。然后我遇到了关于设置 tomcat 服务器的 this 页面,上面写着:
If both JRE_HOME and JAVA_HOME are specified, JRE_HOME is used
所以我尝试删除 JRE_HOME 变量并解决了错误。 这是解决问题的正确方法吗?是否可以单独为 tomcat 设置 JRE_HOME invisible?我在其他任何地方都需要 JRE_HOME 吗?
So I tried deleting the JRE_HOME variable and that solved the error. Is this the right method to solve the issue?
是的。根据您的信息,您的网络应用需要 Java 版本 >8 到 运行。而你在这里所做的是确保 Tomcat 正在使用 Java 11 到 运行 这是解决问题的正确方向。
另外,只设置JAVA_HOME
不设置JRE_HOME
是很正常的,因为如果不设置JRE_HOME
,后台启动脚本Tomcat (setclasspath.bat
) 将根据JAVA_HOME
值自动为您设置JRE_HOME
。
您还可以通过在 bin
文件夹中创建 setenv.sh
来自定义/覆盖 JRE_HOME
或 JAVA_HOME
。 setenv.sh
中的所有设置仅适用于 Tomcat :
export JAVA_HOME=/path/to/jdk-11.0.2