Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot spring启动插件和gradle依赖实现_Spring Boot_Gradle_Spring Boot Gradle Plugin - Fatal编程技术网

Spring boot spring启动插件和gradle依赖实现

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竟然不再包

我们一直在使用gradle spring启动插件版本1.5.14和gradle 4.10.3进行构建。gradle升级到6.2.2后,我们还将依赖项定义从
编译组
更改为
实现组
,即:

编译组:'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”而不是“编译”的库)

在没有看到您的项目目录的情况下,我假设某些依赖项没有被拉到以前从层次结构中较低的依赖项获取的位置。除非您有一个庞大的多模块项目,否则您应该能够通过一次将编译更改为一个实现来轻松找到缺少的依赖项