运行Tomcat时无法创建Java虚拟机

aydmsdu9  于 2023-03-11  发布在  Java
关注(0)|答案(1)|浏览(996)

我有一个关于hib的演示文稿,举个例子,我需要tomcat安装tomcat 10后,我试图使用此命令启动它C:\tomcat\bin>startup下面是我运行它时得到的结果

C:\tomcat\bin>startup
Using CATALINA_BASE:   "C:\tomcat"
Using CATALINA_HOME:   "C:\tomcat"
Using CATALINA_TMPDIR: "C:\tomcat\temp"
Using JRE_HOME:        "C:\Program Files\Java\jre1.8.0_361"
Using CLASSPATH:       "C:\tomcat\bin\bootstrap.jar;C:\tomcat\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""

但窗口弹出了一瞬间又消失了。
因此,我尝试了以下命令,以查看C:\tomcat\bin>catalina.bat run上发生了什么,以下是结果

Using CATALINA_BASE:   "C:\tomcat"
Using CATALINA_HOME:   "C:\tomcat"
Using CATALINA_TMPDIR: "C:\tomcat\temp"
Using JRE_HOME:        "C:\Program Files\Java\jre1.8.0_361"
Using CLASSPATH:       "C:\tomcat\bin\bootstrap.jar;C:\tomcat\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
Unrecognized option: --add-opens=java.base/java.lang=ALL-UNNAMED
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

顺便说一句,这里是环境变量..因为我看到许多尝试有问题..但我不认为这是我的情况enter image description hereenter image description here

  • 注意 * Tomcat版本10.1.7 JDK 17 jre-8 u361

我有许多问题,在此之前,我试图解决,其中一些没有,有些没有,总是一个问题导致我到另一个,我曾经有错误500内部服务器错误aloot,而试图遵循教程。
我不知道这可能是一个帮助或没有,但我曾经有另一个问题,我认为我已经解决了,这是我有xampp运行tomcat太,这意味着我有一个旧版本的xampp和我安装了一个新的,然后我删除了新的,并取代新的tomcat版本,而不是在xampp,并删除了服务,以便它可以创建新的;

但毕竟没有成功,所以我卸载了xampp,tomcat和java,并从新开始。

pvcm50d1

pvcm50d11#

问题是,Tomcat使用的Java 8版本不支持--add-opens选项,该选项是在Java 9中引入的。

更新

感谢Olaf的评论,我重新定义了前一句话,然而Tomcat 10.0.x曾经支持Java 8,但在10.1.0中被删除了,因为它至少需要Java 11。
Apache Tomcat所需的Java运行时环境。较早的Java版本仅提供了多个对象JRE和JDK。现在它已更改。当Tomcat启动时,它将尝试基于环境变量评估已安装的运行时环境。
如果JRE_HOMEset,则将使用它。
如果JRE_HOME未设置JAVA_HOME已设置,则Tomcat启动脚本将根据JAVA_HOME值自动设置JRE_HOME
如果同时设置了JRE_HOMEJAVA_HOME***,则将使用JRE_HOME
由于问题描述的两个环境变量都设置了,所以使用JRE_HOME,但是JRE_HOME指向Java 8。
您可以定制JRE_HOME(设置为新的Java版本),或者也可以删除这个环境变量并使用JAVA_HOME,如前所述。

相关问题