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
相关产品推荐
相关产品推荐

