gpt4 book ai didi

gradle - 在 settings.gradle 不是最高级别依赖项的平面多模块项目中使用 gradle

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

我有一个多模块项目,其目录结构如下:

proj
|-modA
|-modB
|-modMain
\-modSysTest

依赖项是:
modB -> modA
modMain -> modB
modMain -> modA
modSysTest -> modMain

我们目前使用 Ant 作为我们的构建系统。每个模块都有一个 build.xml。有一个 master.xml 运行多模块构建,它位于 modMain 中。

我正在研究将我们的项目切换为使用 gradle。如果我将 build.gradle 和 settings.gradle 放在一个新的同级目录中并使用 includeFlat 设置依赖模块,我可以获得一个多模块构建工作。

我尝试将 gradle 文件移动到 modMain 中,这是我们系统的主要组件以及构建整个系统的顶级构建脚本 (master.xml) 的主目录,但我无法让构建以这种方式工作.目前,我的主要绊脚石是尝试将 modSysTest 配置为依赖于 modMain 中的 modMain。

这是来自 modMain 的 settings.gradle:
includeFlat 'modA', 'modB', 'modSysTest'

这是来自 modMain 的 build.gradle 文件:
allprojects {
apply plugin: 'java'

repositories {
mavenCentral()
};
dependencies {
testCompile 'junit:junit:4.11'
}
}

project(':modB') {
dependencies {
compile project(':modA')
}
}

project(':modSysTest') {
dependencies {
compile project(':modMain')
}
}

dependencies {
compile project(':modA'), project(':modB')
}

使用此配置时,我收到错误:
A problem occurred evaluating root project 'modMain'.
> Project with path ':modMain' could not be found in project ':modSysTest'.

我不确定如何将 modMain 指定为 modSysTest 的依赖项。

最佳答案

根项目的项目路径为: ,而不是 :modMain .在根项目中包含代码不是很习惯(但可能)。我不明白如何把 build.gradlesettings.gradle进入 modMain 的同级目录会给出不同的结果(除非您还更改了 settings.gradle 的内容)。请注意,使用这样的设置,Gradle 将找不到 settings.gradle除非您从 modMain 开始构建目录或使用 -c 传递设置文件的位置.

关于gradle - 在 settings.gradle 不是最高级别依赖项的平面多模块项目中使用 gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20527305/

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