带有thymeleaf入门程序的Spring Boot从其他依赖项中排除了Javassist

哪林

我有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 assemblejar有javassist。

有任何想法吗?现在,我需要在第二个项目中显式添加javassist依赖关系来解决它。工作项目https://github.com/kojilin/example-multi

哪林

也许原因来自这里?

https://github.com/gradle/gradle/issues/1473#issuecomment-413333723

所以如果我申请

dependencyManagement {
    applyMavenExclusions = false
}

它将库保留在runtimeClasspath中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Boot,从 Gradle 5 中的测试中排除依赖项

从Gradle中的Spring Boot中排除Tomcat依赖项

从列表中排除一项(按索引),并取所有其他项

带有 Thymeleaf 的 Spring Boot CRUD 应用程序 - BindingResult 结果

属性文件中带有Thymeleaf -UTF-8的Spring Boot CRUD应用程序

如何在GET请求中排除其他类对象?-Java Spring Boot

从 pom 中的所有依赖项中排除特定文件

如何从MVN依赖项中排除所有测试罐*

Spring Boot项目中排除依赖的问题

使用Spring Boot @WebMvcTest测试时如何从我的上下文中排除其他@Controller

Spring Boot / Thymeleaf / Hibernate:带有Java注释的Sessionfactory Bean

从Rails的子域中排除所有其他资源

从其他应用程序模块导入依赖项时,Spring Boot REST API将无法启动

Grails 3.1.10从war生成中排除了spring-boot-starter-tomcat插件

如何使用Maven程序集插件从依赖项jar中排除程序包?

如何从Maven程序集插件中排除依赖项:jar-with-dependencies?

如何从Kotlin DSL build.gradle中的所有依赖项中排除库?

如何在SBT中排除库的所有传递依赖项?

除了将已解决的状态依赖项注入控制器之外,是否有其他方法可以访问它们?

具有其他项目依赖项的Eclipse插件项目

带有其他表中指定的排除项的SELECT查询-1

如何强制npm将依赖项的依赖项解析为其他程序包?

Spring Boot Thymeleaf无法解析为带有url的表达式

如果其他数据框中没有该值,则熊猫从数据框中排除行

带有Quartz和多个调度程序的Spring-Boot

带有Apache轴的Spring Boot应用程序

带有 Jquery ajax 的 Spring Boot 应用程序

带有资源处理程序的Spring Boot错误页面

下载带有其他平台依赖项的 python-requirements.txt 内容