我配置了一個gradle項目,以便在我運行./gradlew build
時構建子模塊,並且它完美無瑕。但是,當我移動到一個子目錄,並運行一個子模塊像./gradlew :mymodule:build
我得到的錯誤未在根項目'mymodule'中找到項目'mymodule'
Project 'mymodule' not found in root project 'mymodule'.
我的等級根配置:
group 'com.example.core'
version '1.0-SNAPSHOT'
allprojects {
apply plugin: 'java'
version = '1.0'
}
subprojects {
repositories {
mavenLocal()
}
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-dependencies:${spring_boot_version}"
}
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'
}
}
project(':mymodule1') {
apply plugin: 'application'
bootRepackage {
mainClass = 'com.example.App'
}
springBoot {
mainClass = 'com.example.App'
executable = true
buildInfo()
}
bootRun {
addResources = false
}
task stage(dependsOn: 'bootRepackage') {
}
dependencies {
compile project(':mymodule2')
}
}
project(':mymodule2') {
apply plugin: 'application'
// config module
}
sourceCompatibility = 1.8
targetCompatibility = 1.8
buildscript {
repositories {
// repos
}
dependencies {
// deps
}
}
defaultTasks 'bootRun'
repositories {
mavenCentral()
}
clean {
delete "target"
}
task cleanResources(type: Delete) {
delete 'build/resources'
}
task wrapper(type: Wrapper) {
gradleVersion = '4.0'
}
bootRepackage.enabled = false
而且我幾乎是空的模塊的配置輔助模塊:
group 'com.example.proj'
version '1.0-SNAPSHOT'
我建議一個原因是缺少子模塊的運行配置。所以問題是如何指向子模塊的build.gralde
使用父母的配置?
什麼依賴性和配置?如果我將它們存儲在根中,那麼我不需要將它們指向子模塊。 –
有些配置可以放在根中,其他配置在模塊build.gradle中更有意義。依賴關係在每個子模塊build.gradle中效果最好,但如果有意義的話,可以在根中找到(再次)。請參閱:https://docs.gradle.org/current/userguide/multi_project_builds.html – jdv