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

SpringBoot3升级后kie-ci8.x启动失败:方法不存在问题求助

问题描述

将应用从SpringBoot 2.x.x版本升级至3.x.x版本,原本构建正常,但测试环节出现Drools相关问题,因此将kie-ci版本从7.74.1升级到8.44.0.Final,现在应用无法启动,报错信息如下:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.apache.maven.RepositoryUtils.toRepo(RepositoryUtils.java:213)

The following method did not exist:

    'org.eclipse.aether.repository.RemoteRepository$Builder org.eclipse.aether.repository.RemoteRepository$Builder.setBlocked(boolean)'

The calling method's class, org.apache.maven.RepositoryUtils, was loaded from the following location:

    jar:file:/Users/rf22/.gradle/caches/modules-2/files-2.1/org.apache.maven/maven-core/3.8.6/f945f1f19452214d360d453d9357275313f1cfd9/maven-core-3.8.6.jar!/org/apache/maven/RepositoryUtils.class

The called method's class, org.eclipse.aether.repository.RemoteRepository$Builder, is available from the following locations:

    jar:file:/Users/rf22/.gradle/caches/modules-2/files-2.1/org.eclipse.aether/aether-api/1.0.2.v20150114/839f93a5213fb3e233b09bfd6d6b95669f7043c0/aether-api-1.0.2.v20150114.jar!/org/eclipse/aether/repository/RemoteRepository$Builder.class
    jar:file:/Users/rf22/.gradle/caches/modules-2/files-2.1/org.apache.maven.resolver/maven-resolver-api/1.7.3/2602fc14676d79d1802dcc3bfcfb3628c598ee8/maven-resolver-api-1.7.3.jar!/org/eclipse/aether/repository/RemoteRepository$Builder.class

The called method's class hierarchy was loaded from the following locations:

    org.eclipse.aether.repository.RemoteRepository.Builder: file:/Users/rf22/.gradle/caches/modules-2/files-2.1/org.eclipse.aether/aether-api/1.0.2.v20150114/839f93a5213fb3e233b09bfd6d6b95669f7043c0/aether-api-1.0.2.v20150114.jar


Action:

Correct the classpath of your application so that it contains compatible versions of the classes org.apache.maven.RepositoryUtils and org.eclipse.aether.repository.RemoteRepository$Builder

附上build.gradle配置:

dependencies {
    //resilience4j
    implementation group: 'io.github.resilience4j', name: 'resilience4j-spring-boot3',   version: '2.2.0'
    implementation group: 'io.github.resilience4j', name: 'resilience4j-circuitbreaker', version: '2.2.0'
    implementation group: 'io.github.resilience4j', name: 'resilience4j-reactor',        version: '2.2.0'
    //web (Tomcat, Logging, Rest)
    implementation group: 'org.springframework.boot',   name: 'spring-boot-starter-web'
    // Redis
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-redis'
    //Mongo Starter
    implementation group: 'org.springframework.boot', name:'spring-boot-starter-data-mongodb'
    // Configuration processor - To Generate MetaData Files. The files are designed to let  developers offer "code completion" as users are working with application.properties
    implementation group: 'org.springframework.boot', name: 'spring-boot-configuration-processor'
    // Actuator - Monitoring
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator'

    implementation group: 'org.kie', name: 'kie-ci', version: '8.44.0.Final'

    //Swagger
    //implementation group: 'io.springfox', name: 'springfox-swagger2', version:'3.0.0'
    //implementation group: 'io.springfox', name: 'springfox-swagger-ui', version:'2.7.0'
    // Migrated from Swagger2 SpringFox to SpringDoc OpenAPI - Upgrade to SpringBoot 2.7.18 - Dec 2023
    implementation group: 'org.springdoc',           name: 'springdoc-openapi-starter-webmvc-ui', version: '2.5.0'
    implementation group: 'com.doctusoft', name: 'json-schema-java7', version: '1.4.1'
    implementation('com.google.code.gson:gson:2.8.6')
    implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.5.0-M2'
    implementation group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1'
    implementation group: 'org.apache.httpcomponents.client5', name: 'httpclient5', version: '5.3.1'
//  implementation group: 'com.google.guava', name: 'guava', version: '33.0.0-jre'
    implementation group: 'org.apache.maven', name: 'maven-aether-provider', version: '3.3.9'
    //Lombok
    compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.26'
    annotationProcessor group:'org.projectlombok', name:'lombok',version:'1.18.26'
    implementation group: 'org.json', name: 'json', version: '20240303'
//  testCompileOnly 'org.projectlombok:lombok:1.18.12'
//  testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'

    //Sleuth - Tracing
    implementation('org.springframework.boot:spring-boot-starter-validation')
    //implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-sleuth'
    implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-bootstrap', version: '3.1.0'
    implementation group: 'org.mongodb', name: 'mongodb-driver-core', version: '5.0.0'
    implementation group: 'org.mongodb', name: 'mongodb-driver-sync', version: '5.0.0'
    implementation group: 'org.mongodb', name: 'bson', version: '5.0.0'
    //JSON Schema Validator
    implementation group: 'com.github.java-json-tools', name: 'json-schema-validator',
            version: '2.2.14'

    implementation group: 'jakarta.annotation', name: 'jakarta.annotation-api', version: '3.0.0'
    implementation('org.jacoco:jacoco-maven-plugin:0.8.0')
    // Cucumber dependencies (newer versions compatible with Spring Boot 3.x)
    implementation 'io.cucumber:cucumber-java:7.18.0'
    implementation group: 'io.cucumber', name: 'cucumber-spring', version: '7.18.0'
    testImplementation('io.cucumber:cucumber-spring:7.18.0')

    //Testing Embedded Redis
    testImplementation group: 'com.github.kstyrc', name: 'embedded-redis', version:'0.6'
    //Testing Embedded Mongo
    testImplementation 'de.flapdoodle.embed:de.flapdoodle.embed.mongo.spring3x:4.16.1'

    testImplementation group: 'net.javacrumbs.json-unit', name: 'json-unit', version: '1.31.1'
    testImplementation group: 'junit', name: 'junit', version: '4.13'
    testImplementation group: 'com.github.kstyrc', name: 'embedded-redis', version:'0.6'
    testImplementation group: 'org.springframework.ws', name: 'spring-ws-test', version:'2.4.0.RELEASE'
    testImplementation group: 'org.springframework.boot', name:'spring-boot-starter-test'
    testImplementation('io.cucumber:cucumber-java:7.13.0')
    testImplementation('io.cucumber:cucumber-junit:7.13.0')
    testImplementation('io.cucumber:cucumber-spring:7.13.0')
//  integrationTestImplementation("org.springframework.boot:spring-boot-starter-test"){
//      testImplementation('io.cucumber:cucumber-junit:7.13.0')
//      testImplementation('io.cucumber:cucumber-spring:7.13.0')
//  }
    implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.12.0'
}
解决思路
  • 移除旧版Aether依赖:直接删除build.gradle中显式声明的maven-aether-provider:3.3.9依赖。Kie-ci 8.x已改用Apache Maven Resolver替代旧的Eclipse Aether,这个旧依赖会引入不兼容的aether-api:1.0.2,导致方法缺失。
  • 强制统一Resolver版本:如果移除后仍有冲突,添加Gradle依赖强制规则,确保所有模块使用与kie-ci 8.44.0兼容的Resolver版本(可通过./gradlew dependencies | grep maven-resolver查看kie-ci自带的版本,示例如下):
    configurations.all {
        resolutionStrategy {
            force 'org.apache.maven.resolver:maven-resolver-api:1.9.10'
            force 'org.apache.maven.resolver:maven-resolver-impl:1.9.10'
            force 'org.apache.maven.resolver:maven-resolver-spi:1.9.10'
        }
    }
    
  • 验证依赖树:执行./gradlew dependencies,搜索aether-api确认旧版本已被排除,仅保留maven-resolver-api。
  • 清理缓存并重建:执行./gradlew clean build --refresh-dependencies,清除Gradle缓存,确保拉取正确的依赖版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 02:09:50