现象
启动bin中的startup.bat会闪退,用cmd也只会显示配置的信息,未出现 Tomcat started.,未能正常启动。 当然也无法访问 localhost:8080。
原因
Apache Tomcat 10.1 版本正式要求使用 Java SE 9 或更高版本的运行时环境。这是因为从 Tomcat 10 开始,Tomcat 移除了对 Java EE 特性的支持,转而使用 Jakarta EE。Jakarta EE 的 API 包名发生了变化,这要求 Tomcat 运行在至少是 Java SE 9 的环境中,以避免包名冲突。
解决方法
如果必须使用 JDK 1.8应该考虑使用 Tomcat 9 或更早的版本,这些版本与 JDK 1.8 是兼容的。但是,如果能够升级到更高版本的 JDK,例如 JDK 11 或 JDK 17(这两个版本目前都有官方支持),那么使用 Tomcat 10.1 将不会有问题。
下载9.0版本的tomcat后,配置完环境变量后,便可正常启动了
其他问题
若出现乱码则对conf文件中logging.properties中的 java.util.logging.ConsoleHandler.encoding = UTF-8 注释掉(加个#),可以解决了