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

SpringBoot 3.0.1项目无法下载指定Scala依赖库问题

解决特定Scala库无法从内部仓库下载的问题

问题背景

使用SpringBoot 3.0.1 + Java 17环境,Gradle项目中其他Java/Scala库均可正常从内部仓库下载,但一个基于Scala 2.11.8、Java 1.8构建的Scala库com.myScalaLibrary.libok:my-lib-utils:1.0.1始终提示找不到。

项目Gradle配置

buildscript {
    repositories {
        maven {
            url "$repositoryUrl";
            allowInsecureProtocol = true
        }
    }
    dependencies {
        classpath "org.scala-tools:maven-scala-plugin:2.15.2"
    }
}
plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.1'
    id 'io.spring.dependency-management' version '1.1.0'
    id 'scala'
}
apply plugin: 'io.spring.dependency-management'
apply plugin: "scala"

scala {
    version = "2.11.8"
}

repositories {
    maven {
        url "$repositoryUrl";
        allowInsecureProtocol = true
    }
    mavenCentral()
}


sourceCompatibility = '17'

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    

    implementation "org.scala-lang:scala-library:2.11.8"
    // this is the scala lib which is available in the repo.
    implementation 'com.myScalaLibrary.libok:my-lib-utils:1.0.1'

    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

报错信息

Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Could not find com.myScalaLibrary.libok:my-lib-utils:1.0.1.
Required by:
    project :

解决方案

  • 检查Scala库的坐标后缀
    Scala库发布时通常会自动添加对应Scala版本的分类器后缀(比如_2.11),如果内部仓库中的包实际artifactId是my-lib-utils_2.11,直接写my-lib-utils会导致Gradle找不到。尝试修改依赖坐标为:

    implementation 'com.myScalaLibrary.libok:my-lib-utils_2.11:1.0.1'
    
  • 确认内部仓库的包实际存在
    登录内部仓库管理系统(如Nexus、Artifactory),搜索com.myScalaLibrary.libok,确认my-lib-utils的1.0.1版本是否存在,同时核对groupId、artifactId、version的拼写是否完全一致。

  • 配置Gradle自动匹配Scala版本后缀
    如果希望Gradle自动根据项目Scala版本添加后缀,可以在dependencies块外添加如下配置:

    configurations.all {
        resolutionStrategy.eachDependency { DependencyResolveDetails details ->
            if (details.requested.group == 'com.myScalaLibrary.libok' && details.requested.name == 'my-lib-utils') {
                details.useTarget "${details.requested.group}:${details.requested.name}_2.11:${details.requested.version}"
            }
        }
    }
    
  • 排查仓库权限与优先级
    确认当前账号对内部仓库中该包有读取权限;同时检查仓库顺序,内部仓库配置在mavenCentral之前,确保Gradle优先从内部仓库查找,而非mavenCentral(该包可能不在mavenCentral中)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 04:45:34