我需要JRE_回家吗?Tomcat java环境版本差异
最近,我在tomcat中运行一个基本的webapp时遇到了一个错误。 错误是“类已由较新版本的Java环境编译”。我正在使用jdk-11.0.2和jre1.8.0_201。然后我看到了关于设置tomcat服务器的页面,上面说:我需要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变
如果同时指定了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。