【发布时间】:2018-12-27 05:30:42
【问题描述】:
我想通过 Gradle 构建 MultiProject。
RootBroject 和 SubProject 的平面目录。我认为这很简单。 但是 Gradle 看起来在 SubProject 中找不到类。
在这种情况下我该怎么做?
项目目录如下:
RootProject
+- build.gradle
+- settings.gradle
+- src
SubProject
+- src
+- build
+- classes
和子项目构建:
gradlew :DataAccessProject:compileJava
是BUILD SUCCESSFUL,我在 SubProject/build/classes 中找到了这些类
但是 Sub+RootProject 构建:
gradlew :compileJava
是BUILD FAILED 并且消息在 RootProject 中超过 100 条,如
import a.b.c.SomeClassOfSubProject;
^
settings.gradle:
rootProject.name = 'RootProject'
includeFlat 'SubProject'
build.gradle:
buildscript {
ext {
springBootVersion = '2.0.6.RELEASE'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.springframework:springloaded:1.2.1.RELEASE")
classpath("io.spring.gradle:dependency-management-plugin:0.6.1.RELEASE")
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group = 'abc'
sourceCompatibility = 11
targetCompatibility = 11
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-jdbc')
implementation('org.projectlombok:lombok:1.18.4')
implementation fileTree(dir: 'lib', include: ['*.jar'])
}
}
project(':SubProject') {
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-web')
implementation('org.springframework.boot:spring-boot-starter-thymeleaf')
implementation project(':SubProject') // Can't find classes in SubProject??
}
【问题讨论】:
标签: gradle build.gradle gradlew multi-project