Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要JRE_回家吗?Tomcat java环境版本差异_Java_Environment Variables_Tomcat9 - Fatal编程技术网

我需要JRE_回家吗?Tomcat java环境版本差异

我需要JRE_回家吗?Tomcat java环境版本差异,java,environment-variables,tomcat9,Java,Environment Variables,Tomcat9,最近,我在tomcat中运行一个基本的webapp时遇到了一个错误。 错误是“类已由较新版本的Java环境编译”。我正在使用jdk-11.0.2和jre1.8.0_201。然后我看到了关于设置tomcat服务器的页面,上面说: 如果同时指定了JRE\u HOME和JAVA\u HOME,则使用JRE\u HOME 因此,我尝试删除JRE_HOME变量,从而解决了错误。 这是解决问题的正确方法吗?有没有可能只让tomcat看不见JRE_主页?我需要JRE_回家吗 因此,我尝试删除JRE_HOME变

最近,我在tomcat中运行一个基本的webapp时遇到了一个错误。 错误是“类已由较新版本的Java环境编译”。我正在使用jdk-11.0.2和jre1.8.0_201。然后我看到了关于设置tomcat服务器的页面,上面说:

如果同时指定了JRE\u HOME和JAVA\u HOME,则使用JRE\u HOME

因此,我尝试删除JRE_HOME变量,从而解决了错误。 这是解决问题的正确方法吗?有没有可能只让tomcat看不见JRE_主页?我需要JRE_回家吗

因此,我尝试删除JRE_HOME变量,从而解决了错误。 这是解决问题的正确方法吗

对。根据您的信息,您的web应用程序需要Java版本>8才能运行。这里要做的是确保Tomcat使用Java11运行,这是解决问题的正确方向

另外,您只设置
JAVA_HOME
而不设置
JRE_HOME
也是很正常的,因为在幕后,如果您不设置
JRE_HOME
,Tomcat启动脚本(
setclasspath.bat
)将根据
JAVA_HOME
值自动为您设置
JRE_HOME

您还可以通过在
bin
文件夹中创建
setenv.sh
来自定义/覆盖
JRE\u HOME
JAVA\u HOME
setenv.sh
中的所有设置仅适用于Tomcat:

export JAVA_HOME=/path/to/jdk-11.0.2

其他应用程序、服务等是否需要JRE_HOME?我很好奇删除JRE_HOME是否会在将来的其他地方出现错误,不一定是tomcat。不确定,您必须检查服务器中的服务。但是您可以在bin的setenv.sh中定义JRE_HOME/JAVA_HOME,该设置仅应用于tomcat。查看我的更新结果,当我有jdk-11时,我不需要jre1.8。