我有一个使用Gradle构建的Spring Boot项目。它具有对其他项目的编译依赖性。所有项目都通过“includeFlat”在主项目的settings.gradle文件中提及。
我的问题:构建生成的boot(“fat”)jar忽略了项目依赖项。
这是项目结构:
master
(no source)
build.gradle - applies 'Eclipse' plugin (but not Java)
settings.gradle -- has 'includeFlat' for projectA, projectB
projectA
src/main/java/...
build.gradle
projectB
src/main/java/...
build.gradle -- see below
projectB的build.gradle看起来大致如下:
buildscript
{
repositories
{
mavenCentral()
}
dependencies
{
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.1.RELEASE")
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
jar
{
baseName = 'xxx'
version = '0.1.0'
}
repositories
{
mavenCentral()
}
jar {
enabled = true
}
dependencies
{
compile project(":projectA")
}
projectB上的“gradle build”生成常规jar和引导jar。我希望引导jar包含来自“:projectA”的类 - 但它们缺失了。
除此之外,无论是单独构建还是通过主项目构建和运行,两个项目都是正确的。