gpt4 book ai didi

Gradle多模块项目构建问题

转载 作者:行者123 更新时间:2023-12-03 03:55:25 24 4
gpt4 key购买 nike

我有一个具有以下结构的多模块项目

enter image description here

当我尝试构建 信号站项目我得到这个异常

Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all task dependencies for configuration ':runtimeClasspath'.

settings.gradle.kts (trade) - 顶级
rootProject.name = "trade"
include("trade-common")
include("signal-site")

build.gradle.kts (trade) - 顶级
group = "com.oleinikdi"
version = "1.0"

subprojects {
version = "1.0"
}

allprojects {
repositories {
jcenter()
}
}

settings.gradle.kts(贸易通用)
rootProject.name = "trade-common"

build.gradle.kts(贸易通用)
subprojects {
version = "1.0"
}

plugins {
kotlin("jvm") version "1.3.70"
}

group = "com.oleinikdi"
version = "1.0"

repositories {
jcenter()
}

dependencies {
implementation(kotlin("stdlib-jdk8"))
}

tasks {
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
}

settings.gradle.kts(信号站点)
rootProject.name = "signal-site"
include("trade-common")

build.gradle.kts(信号站点)
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

subprojects {
version = "1.0"
}

plugins {
id("org.springframework.boot") version "2.2.5.RELEASE"
id("io.spring.dependency-management") version "1.0.9.RELEASE"
war
kotlin("jvm") version "1.3.70"
kotlin("plugin.spring") version "1.3.70"
kotlin("plugin.jpa") version "1.3.70"
}

group = "com.oleinik"
version = "1.0"
java.sourceCompatibility = JavaVersion.VERSION_1_8

repositories {
jcenter()
}

dependencies {
implementation(project(":trade-common"))

providedRuntime("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-data-rest")
implementation("org.springframework.boot:spring-boot-starter-jdbc")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("org.liquibase:liquibase-core")
// runtimeOnly("org.postgresql:postgresql")
implementation("org.postgresql:postgresql")

providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")
testImplementation("org.springframework.boot:spring-boot-starter-test") {
exclude(group = "org.junit.vintage", module = "junit-vintage-engine")
}
testImplementation("org.springframework.security:spring-security-test")
}

tasks.withType<Test> {
useJUnitPlatform()
}

tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}

最佳答案

在多项目构建中,必须只有一个 settings.gradle项目根目录下的文件。

所以你的问题是由多个 settings.gradle 引起的在您的层次结构中定义,这意味着在 signal-site 中运行某些东西时, Gradle 配置为查找 trade-common作为 signal-site 的子文件夹.

只需删除 trade-commonsignal-site settings.gradle文件,只留下一个在根目录。

the documentation深入了解 Gradle settings.gradle文件以及它们在多项目设置中的工作方式。

关于Gradle多模块项目构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60687427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com