Spring boot spring启动插件和gradle依赖实现
我们一直在使用gradle spring启动插件版本1.5.14和gradle 4.10.3进行构建。gradle升级到6.2.2后,我们还将依赖项定义从Spring boot spring启动插件和gradle依赖实现,spring-boot,gradle,spring-boot-gradle-plugin,Spring Boot,Gradle,Spring Boot Gradle Plugin,我们一直在使用gradle spring启动插件版本1.5.14和gradle 4.10.3进行构建。gradle升级到6.2.2后,我们还将依赖项定义从编译组更改为实现组,即: 编译组:'org.springframework.boot',名称:'springbootstarterintegration' 到 实现组:'org.springframework.boot',名称:'springbootstarterintegration' 通过gradleassemble创建的胖jar竟然不再包
编译组
更改为实现组
,即:
编译组:'org.springframework.boot',名称:'springbootstarterintegration'
到
实现组:'org.springframework.boot',名称:'springbootstarterintegration'
通过gradleassemble
创建的胖jar竟然不再包含BOOT-INF/lib
下所需的lib了?如果我将“实现”替换为“编译”,它将按照预期再次工作
是否需要配置一些东西以便spring引导插件添加它们?或者我需要提前将项目升级到spring boot 2吗?实现将只为它声明的模块引入依赖项 Compile将允许依赖于该模块的模块也使用依赖项 假设您有模块A,具体取决于模块B。 模块A和B都需要依赖项:
com.font:font1:1.1.1
如果B使用:
implementation 'com.font:font1:1.1.1'
A将看不到font1,还需要将其放入自己的build.gradle文件中
compile 'com.font:font1:1.1.1'
将使其可用于整个类路径(无论如何都应该避免,新的等价物适用于使用“api”而不是“编译”的库)
在没有看到您的项目目录的情况下,我假设某些依赖项没有被拉到以前从层次结构中较低的依赖项获取的位置。除非您有一个庞大的多模块项目,否则您应该能够通过将compile一次更改为implementation来轻松找到缺少的依赖项。implementation将只为它声明的模块引入依赖项 Compile将允许依赖于该模块的模块也使用依赖项 假设您有模块A,具体取决于模块B。 模块A和B都需要依赖项:
com.font:font1:1.1.1
如果B使用:
implementation 'com.font:font1:1.1.1'
A将看不到font1,还需要将其放入自己的build.gradle文件中
compile 'com.font:font1:1.1.1'
将使其可用于整个类路径(无论如何都应该避免,新的等价物适用于使用“api”而不是“编译”的库)
在没有看到您的项目目录的情况下,我假设某些依赖项没有被拉到以前从层次结构中较低的依赖项获取的位置。除非您有一个庞大的多模块项目,否则您应该能够通过一次将编译更改为一个实现来轻松找到缺少的依赖项