错误信息: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等内容可以查看这篇文章
发表评论