错误信息:Unrecognized option:–add-opens=java.base/java.lang=ALL-UNNAMEDError:Could not create the Java Virtual Machine.Error: A fatal exception has occurred. Program will exit.
从JDK 9开始,Java增加了模块化系统,引入了–add-opens参数来允许访问模块内部包。但是,JDK 1.8并没有这个参数。因此,当Tomcat 10尝试使用这个参数时,JDK 1.8无法识别并抛出了错误。
在使用tomcat10+时,可能会遇到这种错误,其实你应该参照tomcat官方的jdk和tomcat版本对应表来下载tomcat
如果你不想更新jdk的版本,那么可以屏蔽该参数
可以尝试修改Tomcat的JVM配置。找到Tomcat的启动脚本(例如catalina.sh或catalina.bat),找到JVM参数部分,并移除或注释掉与–add-opens相关的行。
如果你选择修改Tomcat配置,请按照以下步骤操作:
打开Tomcat的启动脚本(例如catalina.sh或catalina.bat)。
2024年2月27日21:28:40补充一下,文件在tomcat安装目录,有问题随时评论区留言,很快回复。各位大佬们加油!
在脚本中找到JVM参数部分,通常在JAVA_OPTS变量中。
查找与–add-opens相关的行,并将其移除或注释掉(在行的开头添加#符号)。
保存脚本并重新启动Tomcat服务器。
通过以上步骤,你应该能够解决在JDK 1.8环境下运行Tomcat 10时遇到的错误。请注意,如果你选择升级JDK版本,确保与Tomcat版本兼容,并注意可能存在的其他依赖性问题。
另外,如果你不确定如何修改Tomcat配置或升级JDK版本,请参考官方文档或寻求专业帮助。在进行任何系统更改之前,请务必备份重要数据以防万一。
总结:这个错误是由于在JDK 1.8环境下使用Tomcat 10的JVM参数不兼容导致的。通过升级JDK版本或修改Tomcat配置,你可以解决这个问题。在进行更改之前,请确保备份重要数据并仔细阅读相关文档。
借鉴于百度开发者中心
最后可能还一种错误,即电脑存在多个jdk环境变量。要调整idea所有关于jdk使用处的jdk版本,有可能使用不对导致的。
我这里以前在变量添加了备注名,但是他实际上还是1.8的版本。
打开方式(小白看)
于2024年2月27日21:33:52更新
javaweb更新中,该内容为javaweb笔记的扩展内容,如需复习javaweb servlet jsp ssm等内容可以查看这篇文章
javaweb笔记