gpt4 book ai didi

java - Spring Boot 多模块与微服务和 Gradle 结合使用

转载 作者:太空宇宙 更新时间:2023-11-04 09:27:13 25 4
gpt4 key购买 nike

我正在使用 Spring Boot 将所有旧的单体应用程序转换为共享微服务。为了帮助维护所有应用程序,我想使用位于父目录根目录中的单个 gradle 文件。我偶然发现了 spring boot 多模块项目 https://spring.io/guides/gs/multi-module/并开始沿着这条路走下去。

我的问题是,多模块项目是否可以用于共享单个父 gradle 文件以及共享库,并且仍然能够为每个微服务生成单独的 jar?我的印象是,当使用多模块时,只会生成一个 jar,并且所有模块都将成为该单个 jar 的一部分。

最佳答案

我有几点。

I get the impression when using multi modules only a single jar will be produced and all the modules will be a part of that single jar.

这是事实,在多模块 gradle 或 maven 项目的情况下,每个模块都不是微服务,每个模块将有各自的 maven pom.xml 或 build.gradle(如果是 Gradle)。每个模块都有自己的 jar 文件。在典型的微服务项目中,模块可以是包含所有资源端点的资源层、服务层、存储库层、实体层等。每一层都被视为模块。将有一个根项目,该项目将具有基于应用程序构建工具的父 pom.xml 或 build.gradle 文件。除了 Spring Boot 项目之外,包含所有模块的父项目将生成一个 fat jar,其中包含 Boot-INF,在其中您将获得模块明智的 jar 文件以及其他第三方库。

如果您尝试将大型单体应用程序转换为微服务类型,请首先根据可在其他微服务中使用的可重用功能做出决定。我的意思是第一个单体应用程序将转换为多少个微服务。如果您想创建一个类似实用程序的库,请创建一个单独的项目并在 Artifactory 或 Nexus 中维护它,并在根/父 build.gradle 文件中用作定义的微服务的依赖项。

您还可能会从其他人那里得到这方面更好的意见。

关于java - Spring Boot 多模块与微服务和 Gradle 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57530393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com