我有一个最小的项目结构,其中core
应该依赖于common
:
myproj/
core/
build.gradle.kts
common/
build.gradle.kts
build.gradle.kts
settings.gradle.kts
myproj/build.gradle.kts
:
allprojects {
repositories {
jcenter()
}
}
subprojects {
version = "0.1"
}
myproj/settings.gradle.kts
:
rootProject.name = "myproj"
include("myproj-common")
project(":myproj-common").projectDir = File("common")
include("myproj-core")
project(":myproj-core").projectDir = File("core")
myproj / core / build.gradle.kts :
plugins {
kotlin("jvm") version "1.3.11"
}
dependencies {
compile(project(":myproj-common"))
}
myproj / common / build.gradle.kts :
plugins {
kotlin("jvm") version "1.3.11"
}
当我将此设置导入IntelliJ时,它成功完成,但是如果我打开myproj-core
的模块设置,则myproj-common
不在依赖关系中。我在这里想念什么?
我正在使用IntelliJ 2018.3 Community和Gradle 5.0。
答案 0 :(得分:0)
我弄清楚了“问题”是什么-我没有看对地方。
在导入项目时,默认情况下,IntelliJ <源>每个源集创建一个模块。例如,在模块myproj.myproj-core
下,它创建两个单独的模块myproj.myproj-core.main
和myproj.myproj-core.test
,每个模块对应于一个源集。然后在这些子子模块级别添加模块依赖项。因此myproj.myproj-core.main
取决于myproj.myproj-common.main
,并且对于测试模块也是如此。
如果我导入的项目未选中“每个源集创建单独的模块”,则不会创建这些子子模块,而myproj.myproj-core
仅依赖于myproj.myproj-common
。