Spring启动升级到1.4打破了我的多模块项目 - 可能是由于jar布局的变化

Tom*_*mek 5 spring-boot

我已升级到Spring Boot 1.4.0,我的Maven项目无法编译.这是场景:

  • 第1单元/ Spring Boot
  • 模块2/Spring Boot依赖于模块1

当我编译模块2时,我收到了包/类不存在的错误(它们存在于模块1中).Maven正确设置了类补丁(包括模块1目标的jar).

当我改为Spring Boot 1.3.6时,它编译没有任何问题.

我查看了Spring Boot 1.4的发行说明,并且没有关于此区域中要执行的任何操作的信息.

您是否观察过Spring Boot 1.4的相同行为?

我有这样的配置允许测试执行.这两个模块都是微服务,我对模块2进行了测试,我想在不将模块1作为单独的微服务启动的情况下执行.

Ste*_*oll 5

您正在使用模块1的胖jar作为模块2的依赖项.因此,您基本上是在模块2中嵌入模块1中的完整应用程序.您不应该这样做.

在1.4中,类已移至,BOOT-INF/classes因此不再找到它们.我想这是一个很好的副作用,让你知道你的项目设置已经破裂.

您应该为模块1生成常规jar和app jar(如果确实需要).模块1是应用程序吗?如果不是,请禁用spring-boot-maven-plugin那里.如果是,请配置classifier选项以生成两个jar.