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

Java项目中WebJarAssetLocator与ClassGraph版本不兼容启动报错

解决WebJarAssetLocator调用ClassGraph方法不存在的问题

核心原因

问题根源是依赖版本不兼容:org.webjars:webjars-locator-core依赖的ClassGraph版本,和项目中实际引入的ClassGraph版本不匹配。WebJarAssetLocator需要的acceptPaths(String[])方法在你当前使用的ClassGraph版本中已被移除或重命名。

具体解决步骤

  • 排查依赖冲突:用依赖分析命令找出项目中ClassGraph的来源和版本

    • Maven:mvn dependency:tree | grep classgraph
    • Gradle:./gradlew dependencies | grep classgraph
  • 统一ClassGraph版本:根据webjars-locator-core的版本匹配兼容的ClassGraph版本,在依赖管理中强制指定:

    • Maven示例(在<dependencyManagement>中添加):
    <dependency>
        <groupId>io.github.classgraph</groupId>
        <artifactId>classgraph</artifactId>
        <version>4.8.147</version> <!-- 替换为webjars-locator-core依赖的对应版本 -->
    </dependency>
    
    • Gradle示例:
    implementation('io.github.classgraph:classgraph') {
        force = '4.8.147'
    }
    
  • 清理缓存并重构:

    • Maven:mvn clean install -U
    • Gradle:./gradlew clean build --refresh-dependencies
      执行后重新启动应用,验证问题是否解决。
  • 降级WebJars版本(备选):如果强制ClassGraph版本引发其他问题,可尝试将webjars-locator-core降级到旧版本(比如0.45),该版本依赖的ClassGraph包含acceptPaths方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 17:06:50