首页 > 解决方案 > Gradle 子项目未从本地 build.gradle 文件导入依赖项

问题描述

我在工作中继承了一个 JVM* 项目,该项目包含一个settings.gradle文件,但没有build.gradle文件,也没有 Gradle Wrapper。

我从start.spring.io初始化程序创建了一个带有 Spring Boot 的新 Java 项目。我安装了这个新项目,check_forecast作为根项目的子项目validation_checks。这个子项目有一个build.gradle文件,但没有settings.gradle文件。澄清一下,根项目validation_checks是我在公司工作之前建立的遗留项目。当我解压缩check_forcast从.start.spring.iovalidation_checkscheck_forcastvalidation_checks

当我尝试check_forecast使用 command 构建模型时gradle clean build,我收到子项目无法识别基本依赖项的错误,spring-boot-starter-jdbc尽管这些依赖项已在子项目的build.gradle文件中明确定义。请在下面查看我的配置文件。

* 该项目包含 Java、KotlinGroovy 代码。一团糟。

rootProject.name = 'validation_checks'
include 'check_forecast`
plugins {
    id 'application'
    id 'org.springframework.boot' version '2.4.1'
    id 'io.spring.dependency-management' version '1.0.10.RELEASE'
    id 'java'
}

group 'com.company.processes'
version '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    implementation 'org.springframework.boot:spring-boot-starter'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    implementation 'org.springframework.boot:spring-boot-starter-mail'
    runtimeOnly 'mysql:mysql-connector-java'
}

test {
    useJUnitPlatform()
}

我尝试构建子项目时遇到的错误示例:

> Task :nyiso_subscription_check:compileJava FAILED
C:\Users\onlydean\Workspace\validation_checks\check_forecast\src\main\java\com\company\check_forecast\domain\RefHourMap.java:3: error: package javax.persistence does not exist
import javax.persistence.*;
^
C:\Users\onlydean\Workspace\validation_checks\check_forecast\src\main\java\com\company\check_forecast\domain\RefHourMap.java:164: error: cannot find symbol
    @Embeddable
     ^
  symbol:   class Embeddable
  location: class RefHourMap

. . . 

我不知道为什么我的子项目看不到它自己的build.gradle文件中定义的依赖项。谁能指出我正确的方向?

标签: javaspring-bootgradlebuild.gradle

解决方案


推荐阅读