java - 我有一个错误,但依赖项包含在 gradle root 和 gradle 模块配置中,为什么?

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

我有根配置 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,我不知道为什么在模块中我不能使用依赖项。

最佳答案

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

关于java - 我有一个错误,但依赖项包含在 gradle root 和 gradle 模块配置中,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64803317/

相关文章:

java - 使用 JAudioTagger 获取轨道持续时间?

java - Play : Unit test for controller class method w/injections

java - 这是选择要运行的 Controller 的 URL 映射的唯一方法吗?

java - Spring Boot 的 application.properties 的 Autowiring 在 Tomcat 中部署时抛出 NPE

java - DataOutputStream 和 printwriter 有什么区别?

Java:简单的数组分割程序

java - 为什么无限循环在加载数据时 hibernate

java - 在 spring boot 应用程序中外部化查询

Spring @Bean(name ="name") vs @Bean @Qualifier ("name")

java - CXF JAX-RS 导致 BusException