java - 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.io
validation_checks
check_forcast
validation_checks
当我尝试check_forecast
使用 command 构建模型时gradle clean build
,我收到子项目无法识别基本依赖项的错误,spring-boot-starter-jdbc
尽管这些依赖项已在子项目的build.gradle
文件中明确定义。请在下面查看我的配置文件。
* 该项目包含 Java、Kotlin和Groovy 代码。一团糟。
settings.gradle
根项目的文件,validation_check
:
rootProject.name = 'validation_checks'
include 'check_forecast`
build.gradle
子项目的文件,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
文件中定义的依赖项。谁能指出我正确的方向?
解决方案
推荐阅读
- algorithm - 值以 2 的幂增加的循环的时间复杂度
- vue.js - CSS Loader 已使用与 API 架构不匹配的选项对象进行初始化
- java - Children of Firebase database path are not attached by DataSnapshot for loop (Android Studio)
- java - Maven Spring启动应用程序 - 8080端口的连接被拒绝错误
- javascript - 在客户端(Web)上存储敏感信息
- asp.net - ML.NET Writes too much Temp Files
- c# - 是否有一种有用的方法来监视 SQL Server 连接活动?
- python - 以此为基础:对不均匀列表列表的列表理解
- docker - 带有 https 的 Grafana - 找不到 SSL cert_file
- typescript - 打字稿类型不匹配