You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode运行Tomcat服务器遇配置错误及多类异常求助

VSCode中Tomcat启动配置错误排查方案

报错日志(中文翻译版)

配置错误
java.io.FileNotFoundException: 'c:\Users\user\.rsp\redhat-community-server-connector\runtimes\installations\apache-tomcat-8.5.87\conf\logging.properties' (文件名、目录名或卷标语法不正确)
    at java.base/java.io.FileInputStream.open0(Native Method)
    at java.base/java.io.FileInputStream.open(FileInputStream.java:219)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:158)
    at java.base/java.io.FileInputStream.<init>(FileInputStream.java:112)
    at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:483)
    at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:321)
    at java.logging/java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:446)
    at java.logging/java.util.logging.LogManager$2.run(LogManager.java:395)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
    at java.logging/java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:383)
    at java.logging/java.util.logging.LogManager.getLogManager(LogManager.java:431)
    at java.logging/java.util.logging.Logger.demandLogger(Logger.java:650)
    at java.logging/java.util.logging.Logger.getLogger(Logger.java:720)
    at java.logging/java.util.logging.Logger.getLogger(Logger.java:703)
    at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:61)
    at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:181)
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:130)
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:153)
    at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:208)
    at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
2023年3月5日 下午6:03:41 org.apache.catalina.startup.Bootstrap initClassLoaders
严重: 类加载器创建抛出异常
java.io.IOException: 文件名、目录名或卷标语法不正确
    at java.base/java.io.WinNTFileSystem.canonicalize0(Native Method)
    at java.base/java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:465)
    at java.base/java.io.File.getCanonicalPath(File.java:626)
    at java.base/java.io.File.getCanonicalFile(File.java:651)
    at org.apache.catalina.startup.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:179)
    at org.apache.catalina.startup.Bootstrap.createClassLoader(Bootstrap.java:198)
    at org.apache.catalina.startup.Bootstrap.initClassLoaders(Bootstrap.java:146)
    at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:254)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:447)

问题排查与解决

1. 文件路径存在但触发FileNotFoundException

  • 检查路径权限:右键目标文件→属性→安全,确保当前用户拥有文件读取权限,避免系统权限拦截。
  • 修复路径格式:Windows环境下Tomcat配置路径需使用正斜杠/或双反斜杠\\,手动核对VSCode插件中Tomcat安装路径的配置,避免自动生成路径出现转义错误。
  • 验证文件完整性:重新下载Tomcat压缩包并解压,排除解压过程中文件损坏、缺失的情况。

2. 类加载器创建异常

  • 该异常多由路径解析失败引发,解决第一个问题后通常会自动修复。
  • 核对版本兼容性:Tomcat 8.5仅支持JDK 8至JDK 11,若使用更高版本JDK,切换至对应兼容版本。
  • 清理缓存文件:删除Tomcat目录下的work、temp文件夹,以及VSCode工作区缓存,重启后重新配置Tomcat。

3. 日志乱码问题

  • 添加JVM启动参数:在VSCode的Tomcat启动配置中,追加-Dfile.encoding=UTF-8和-Dsun.jnu.encoding=UTF-8,强制JVM使用UTF-8编码。
  • 完善日志配置:修改conf/logging.properties,确保所有日志处理器编码设置为UTF-8:
    java.util.logging.ConsoleHandler.encoding = UTF-8
    java.util.logging.FileHandler.encoding = UTF-8
    
  • 调整终端编码:打开VSCode设置,搜索terminal.integrated.encoding.windows,将值设为UTF-8,重启终端后再启动Tomcat。

内容的提问来源于stack exchange,提问作者정상환

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:02:12