gpt4 book ai didi

java - JHipster 格式的 Gradle 依赖项 "groupId:artifact"

转载 作者:行者123 更新时间:2023-12-02 00:12:00 26 4
gpt4 key购买 nike

我在这里发帖是为了了解 JHipster 如何使用 Gradle 依赖项,特别是考虑到我无法将其中一些依赖项复制到我在 JH 项目中创建的 Gradle 子模块中。

例如,以下内容在 Gradle 子模块中不起作用

compile "junit:junit"

错误是

Could not resolve: junit:junit

不过,经典的抄袭自mvnrepository效果很好

compile group: 'junit', name: 'junit', version: '4.12'

一些附加信息:我正在创建一个子模块,其中包含一组与测试相关的类,主要是从 Ant 世界的另一个项目复制的大量自定义 Hamcrest 匹配器。原来的项目有很多意大利面条般的代码困惑,所以现在我正在重构成一个独立的 Gradle 模块。 teSTLib 模块应依赖于测试框架并包含编写良好测试所需的一切。它可以与您用来编写自己的基于 Spring 的测试的 spring-test 项目进行比较。

目前,gradle 文件如下所示

plugins {
id "java"
}
configurations {
providedRuntime
implementation.exclude module: "spring-boot-starter-tomcat"
}
repositories {
mavenLocal()
mavenCentral()
jcenter()
}
group 'org.example' //different from com.acme of super-project
version '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
dependencies {
compile group: 'org.assertj', name: 'assertj-core', version: '3.13.2'
compile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.5.2'
compile group: 'org.hamcrest', name: 'hamcrest', version: '2.1'
compile group: 'org.mockito', name: 'mockito-core', version: '3.0.0'
compile group: 'org.springframework.boot', name: 'spring-boot', version: spring_boot_version
compile "junit:junit" //Fails
}

问题

所以问题分为两部分:

  1. 为什么 scope "orgId:name" 语法在 JHipster 生成的模块中有效,但在子模块中无效?它是标准 Gradle 语法的一部分吗?
  2. 为什么它在子模块中不起作用? JHipster 是否应用自定义插件来应用明显缺失的正确版本号?如何在应该仅包含 Java 库代码的子模块中执行相同的操作?

最佳答案

对于 JHipster,进行更多调查会有所帮助。根据this answer ,Gradle 中有一个名为 Bill Of Materials 项目的技巧,所以...

TL;DR

将以下内容添加到子项目

// import JHipster dependencies BOM
implementation platform("io.github.jhipster:jhipster-dependencies:${jhipster_dependencies_version}")

让整个 block 看起来像

dependencies {
// import JHipster dependencies BOM
implementation platform("io.github.jhipster:jhipster-dependencies:${jhipster_dependencies_version}")

compile "org.assertj:assertj-core"
compile "org.junit.jupiter:junit-jupiter-api"
compile "org.hamcrest:hamcrest"
compile "org.mockito:mockito-core"
compile "org.springframework.boot:spring-boot"
compile "junit:junit"
}

长答案

也许将来我会更加了解 Gradle。或者只是 edit this answer 😁 做出贡献

关于java - JHipster 格式的 Gradle 依赖项 "groupId:artifact",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58114584/

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