【问题标题】: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 谢谢,请写答案,我选择喜欢正确的答案。

标签: java spring spring-boot gradle spring-data-jpa


【解决方案1】:

使用dependencyManagement,您只管理依赖项,如版本、覆盖等。您实际上并没有将依赖项添加到项目中。为此使用dependencies,就像您在其他地方使用的那样。

【讨论】:

    猜你喜欢
    • 2018-03-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    • 1970-01-01
    • 2017-03-11
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多