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

日志文件出现大量FileNotFoundException,寻求技术解决帮助

解决WebSphere中AnyChart Resources过滤器的FileNotFoundException问题

我经常碰到WebSphere里这个恼人的警告——虽然它不影响应用功能,但日志刷得满屏都是确实很烦人。咱们一步步来搞定它:

先搞清楚问题根源

这个SRVE8109W警告是WebSphere的FilterInstanceWrapper在执行AnyChart Resources过滤器时,找不到某个指定的资源文件导致的。大概率是资源路径配置错了,或者应用包里漏了AnyChart的相关资源。

具体解决步骤

1. 检查过滤器的配置参数

先去你的应用web.xml(或者用注解配置的话找对应的过滤器类)里,找到AnyChart Resources过滤器的定义,看看它的初始化参数里有没有指定资源路径。比如类似这样的配置:

<filter>
    <filter-name>AnyChart Resources</filter-name>
    <filter-class>com.anychart.web.filter.AnyChartResourceFilter</filter-class>
    <init-param>
        <param-name>resourceBasePath</param-name>
        <param-value>/resources/anychart/</param-value>
    </init-param>
</filter>

仔细核对这个路径是否正确,注意大小写——WebSphere在Linux/Unix环境下对路径大小写是敏感的,别因为拼写小错误导致找不到文件。

2. 确认应用包中的资源是否完整

把你的WAR/EAR包解压开,检查刚才配置的路径下,有没有AnyChart需要的所有资源文件(比如JS脚本、CSS样式、字体文件这些)。如果发现缺失,重新打包时把这些资源补进去再重新部署。

3. 临时方案:调低日志级别抑制警告

如果暂时找不到根本原因,又想先让日志清净下来,可以调整WebSphere的日志级别:

  • 登录WebSphere管理控制台,进入日志和跟踪 → 目标服务器 → 更改日志详细信息级别
  • 找到com.ibm.ws.webcontainer.filter这个日志器,把它的级别从WARNING改成ERROR(或者更高的级别)
  • 保存配置后重启服务器,这样这个SRVE8109W警告就不会再出现在日志里了

4. 排查自定义过滤器代码(如果是自研的)

如果这个AnyChart Resources过滤器是你们自己开发的,那得检查它的doFilter方法里的文件加载逻辑。比如是不是用了new File()这种方式读取文件?Web应用里读取WEB-INF下的资源,应该用ServletContext.getResourceAsStream()才对,避免因为相对路径错误导致找不到文件。

要是以上方法都没解决问题,可以把过滤器的完整配置或者应用的部署环境信息贴出来,我再帮你进一步排查~

内容的提问来源于stack exchange,提问作者HS447

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:21:02