【发布时间】:2020-12-19 06:29:41
【问题描述】:
我有 2 个项目,第一个项目取决于 javassist,第二个项目取决于第一个项目和 spring-boot-starter-thymeleaf。
构建 gradle 如下所示 第一个项目
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation 'org.javassist:javassist:3.27.0-GA'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
第二个项目如下,:bar:hoge是第一个项目。
plugins {
id 'org.springframework.boot' version '2.3.3.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
}
group 'org.example'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
implementation project(':bar:hoge')
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
bootJar {
mainClassName = 'com.example.koji.Main'
}
如果我运行../gradlew dependencyInsight --dependency javassist --configuration runtimeClasspath,结果如下。
No dependencies matching given input were found in configuration ':foo:bar:runtimeClasspath'
而gradlew assemble 没有 javassist。
但如果我从第一个项目中删除 id 'org.springframework.boot' version '2.3.3.RELEASE' 或从第二个项目中删除 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf',那么相同的命令将返回如下所示
org.javassist:javassist:3.27.0-GA
\--- project :bar:hoge
\--- runtimeClasspath
而gradlew assemble jar 有 javassist。
有什么想法吗?现在我需要在第二个项目中明确添加 javassist 依赖项来解决它。 工作项目https://github.com/kojilin/example-multi
【问题讨论】:
-
我收到了关于
javassist的消息,但是您有什么问题需要帮助? -
对我来说很奇怪,我需要在第二个项目中添加 javassist 依赖项。所以我想知道为什么会这样。
标签: spring-boot gradle spring-boot-starter