无法解析外部依赖 org.springframework.boot:spring-boot-starter: 因为没有定义存储库
Posted
技术标签:
【中文标题】无法解析外部依赖 org.springframework.boot:spring-boot-starter: 因为没有定义存储库【英文标题】:Cannot resolve external dependency org.springframework.boot:spring-boot-starter: because no repositories are defined 【发布时间】:2018-09-14 00:53:35 【问题描述】:我有一个多重构建项目,我目前正在设置它。每个模块自然都有一个gradle.build
文件,其中仅包含以下内容:
dependencies
在我想要的主要build.gradle
文件中,每个模块都需要。但是,当我执行 gradle build
时,我收到一条错误消息:
无法解析外部依赖 org.springframework.boot:spring-boot-starter: 因为没有存储库 被定义。要求: 项目:
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'io.spring.dependency-management'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
buildscript
ext
springBootVersion = '2.0.0.RELEASE'
repositories
mavenCentral()
dependencies
classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
sourceSets.all ext.purpose = null
// Everything in subprojects are applied to all modules
subprojects
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
version = '0.0.1-SNAPSHOT'
test
useTestNG()
testLogging.showStandardStreams = true
beforeTest descriptor ->
logger.lifecycle("Running test: " + descriptor)
// listen to standard out and standard error of the test JVM(s)
onOutput descriptor, event ->
logger.lifecycle("Test: " + descriptor + " produced standard out/err: " + event.message )
tasks.withType(JavaCompile)
options.encoding = 'UTF-8'
repositories
jcenter()
mavenCentral()
maven
url "https://plugins.gradle.org/m2/"
dependencies
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
dependencies
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
建议
【问题讨论】:
【参考方案1】:我通过这些步骤修复了 Intellij IDEA。
-
进入设置->Gradle
在“使用 Gradle from”下提供正确版本的 Gradle
我选择作为本地 JAVA_HOME 的 Gradle JVM
【讨论】:
【参考方案2】:您只为子项目定义了存储库,但您也必须在根项目中定义它,因为那里有一个 dependencies
块:
dependencies
compile('org.springframework.boot:spring-boot-starter')
testCompile('org.springframework.boot:spring-boot-starter-test')
在您的情况下,您可以通过在 subprojects
闭包中再次声明 repositories
来做到这一点:
repositories
jcenter()
mavenCentral()
maven
url "https://plugins.gradle.org/m2/"
subprojects
...
或者您可以为所有项目定义它:
allprojects
repositories
jcenter()
mavenCentral()
maven
url "https://plugins.gradle.org/m2/"
在这种情况下,您不需要在subprojects
closure 中声明它
【讨论】:
以上是关于无法解析外部依赖 org.springframework.boot:spring-boot-starter: 因为没有定义存储库的主要内容,如果未能解决你的问题,请参考以下文章
无法解析外部依赖 org.springframework.boot:spring-boot-starter: 因为没有定义存储库
同步 gradle 的问题:无法解析外部依赖项 com.android.tools.build:gradle,因为没有定义存储库
SpringCloudAlibaba项目报错java.lang.IllegalArgumentException: Could not find class [org.springframew解决方案
SpringCloudAlibaba项目报错java.lang.IllegalArgumentException: Could not find class [org.springframew解决方案