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

CAS部署cas-management-overlay运行Gradle构建报错咨询

问题根因

核心报错java.lang.NoSuchMethodError: 'void org.apache.logging.slf4j.Log4jLoggerFactory.<init>(org.apache.logging.slf4j.Log4jMarkerFactory)'是典型的日志依赖版本冲突:类路径下的log4j-slf4j桥接包和SLF4J API版本不匹配,类初始化时找不到对应构造方法。
你贴的build.gradle本身存在严重配置错误——大量官方默认配置被错误添加了注释,repositories块未闭合、依赖管理规则全被注释,Gradle无法按照CAS官方BOM约束统一拉取对应版本的依赖,才会拉取到版本不兼容的日志包。另外必须注意:cas-management-overlay的版本要和你已经跑通的cas-overlay-template版本完全一致,跨版本必然出现依赖冲突。

修复步骤
  • 先删除build.gradle里乱加的注释,恢复官方overlay模板的基础结构,不要随意注释依赖管理相关配置。可用的基础配置参考如下:
import org.apache.tools.ant.taskdefs.condition.*
import org.gradle.internal.logging.text.*
import org.apereo.cas.metadata.*
import java.nio.file.*
import static org.gradle.internal.logging.text.StyledTextOutput.Style

buildscript {
    repositories {
        if (project.privateRepoUrl) {
          maven {
            url project.privateRepoUrl
            credentials {
              username = project.privateRepoUsername
              password = System.env.PRIVATE_REPO_TOKEN
            }
          }
        }
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
    }
    dependencies {
        classpath "org.springframework.boot:spring-boot-gradle-plugin:${project.springBootVersion}"
    }
}

apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'java'
apply plugin: 'war'

dependencies {
  // 下面两行是依赖版本管控核心,绝对不能注释
  implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")
  implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)

  // 核心依赖,不要遗漏cas-management-webapp
  implementation "org.apereo.cas:cas-server-core-api-configuration-model"
  implementation "org.apereo.cas:cas-server-webapp-init"
  implementation "org.apereo.cas:cas-management-webapp"

  if (project.hasProperty("casModules")) {
      def moduleList = project.getProperty("casModules").split(",")
      moduleList.each { mod ->
         def matchedProjects = rootProject.subprojects.findAll { proj ->
             proj.name == "cas-server-core-${mod}" || proj.name == "cas-server-support-${mod}"
          }
          matchedProjects.each {implementation it}
      }
  }

  developmentOnly "org.springframework.boot:spring-boot-devtools:${project.springBootVersion}"
}
  • 清理旧构建缓存和残留的Gradle守护进程,执行以下命令重置构建环境:
./gradlew --stop
./gradlew clean
rm -rf ~/.gradle/caches/transforms-*
./gradlew bootRun
  • 如果完成上面两步后仍然报日志相关错误,直接在build.gradle中添加全局依赖冲突解决规则,强制统一日志版本,排除冗余的日志实现包:
configurations.all {
    resolutionStrategy {
        force "org.apache.logging.log4j:log4j-slf4j2-impl:2.20.0"
        force "org.slf4j:slf4j-api:2.0.9"
        exclude group: 'org.slf4j', module: 'slf4j-log4j12'
        exclude group: 'ch.qos.logback', module: 'logback-classic'
    }
}
  • 最后检查gradle.properties里的版本配置,确保cas.version和你已经部署成功的CAS服务端版本完全一致,参考配置:
cas.version=6.6.15
springBootVersion=2.7.18

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:42:19