我有一个错误,但依赖项包含在 gradle root 和 gradle 模块配置中,为啥?
Posted
技术标签:
【中文标题】我有一个错误,但依赖项包含在 gradle root 和 gradle 模块配置中,为啥?【英文标题】:I have an error but dependencies include in gradle root and gradle module config, why?我有一个错误,但依赖项包含在 gradle root 和 gradle 模块配置中,为什么? 【发布时间】:2021-02-24 10:08:45 【问题描述】:我有根配置 gradle.build
plugins
id 'org.springframework.boot' version '2.3.5.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
id 'idea'
idea
project
languageLevel = 14
module
downloadJavadoc = true
downloadSources = true
allprojects
group "ru.otus"
repositories
mavenCentral()
maven url 'https://repo.spring.io/milestone'
maven url 'https://repo.spring.io/snapshot'
apply plugin: "io.spring.dependency-management"
dependencyManagement
dependencies
imports
mavenBom("org.springframework.boot:spring-boot-dependencies:2.3.5.RELEASE")
dependency("org.projectlombok:lombok:1.18.16")
dependency("org.springframework.shell:spring-shell-starter:2.0.1.RELEASE")
dependency("org.springframework.boot:spring-boot-starter-data-jpa:2.3.5.RELEASE")
dependency("org.flywaydb:flyway-core:6.4.4")
dependency("org.postgresql:postgresql:42.2.16")
dependency("org.hamcrest:hamcrest-core:1.3")
dependency("org.springframework.boot:spring-boot-starter-test:2.3.5.RELEASE")
configurations.all
resolutionStrategy
failOnVersionConflict()
resolutionStrategy
force("javax.servlet:servlet-api:2.4")
force("commons-logging:commons-logging:1.1.1")
force("commons-lang:commons-lang:2.5")
force("org.codehaus.jackson:jackson-core-asl:1.8.8")
force("org.codehaus.jackson:jackson-mapper-asl:1.8.3")
force("org.codehaus.jettison:jettison:1.1")
force("org.javassist:javassist:3.24.0-GA")
force("org.apiguardian:apiguardian-api:1.1.0")
force("org.opentest4j:opentest4j:1.2.0")
并且在模块中有 build.gradle
plugins
id 'java'
version = '0.0.1-SNAPSHOT'
dependencies
implementation group: 'org.springframework.shell', name: 'spring-shell-starter', version: '2.0.1.RELEASE'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.3.5.RELEASE'
implementation group: 'org.flywaydb', name: 'flyway-core', version: '6.4.4'
testCompile group: 'org.hamcrest', name: 'hamcrest-core', version: '1.3'
testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.3.5.RELEASE'
下载依赖项并添加@Entity、@Table @Id 等模型注释后,我有一个错误:找不到符号 @实体 ^ 符号:实体类 但是我在依赖项中有spring-boot-starter-jpa,我不知道为什么在模块中我不能使用依赖项。
【问题讨论】:
因为你没有那个依赖。您只将它添加到依赖管理部分,这不是添加依赖,而是管理版本等。 如何将其添加到“allproject”部分中的依赖项添加范围“依赖项”并放置所有依赖项? 谢谢,它正在工作 @M.Deinum 谢谢,请写答案,我选择喜欢正确的答案。 【参考方案1】:使用dependencyManagement
,您只管理依赖项,如版本、覆盖等。您实际上并没有将依赖项添加到项目中。为此使用dependencies
,就像您在其他地方使用的那样。
【讨论】:
以上是关于我有一个错误,但依赖项包含在 gradle root 和 gradle 模块配置中,为啥?的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 依赖项未列出本地 maven jar 的依赖项
Gradle 解决依赖关系并构建/运行良好,但 IntelliJ 没有