gpt4 book ai didi

java - 将 spring 子项目打包到一个 jar 中

转载 作者:行者123 更新时间:2023-12-02 12:28:10 26 4
gpt4 key购买 nike

我正在尝试将基于 Spring 的网络应用程序捆绑到一个 jar 中。

我对项目布局的想法是拥有一个包含多个子项目的根项目,其中一个子项目是 spring-boot 应用程序,其他子项目可能是我自己编写的代码比方说,处理某些业务逻辑。

所以结构可能看起来像这样:

/root
build.gradle <- the problem is here, how I should write root project build script
/spring-backend-subproject
/other-business-subproject

有了所有这些子项目,我想将它们全部打包到一个 JAR 中,这样我就可以做

java -jar build/libs/RootJar.jar

否则我需要运行:

./gradlew bootRun

它将运行“spring-boot”子项目中的特定主类

我一直在网上搜索如何将所有子项目 jar 捆绑到一个 jar 中,例如这个:Can Gradle jar multiple projects into one jar?但我经常会遇到诸如找不到主类之类的错误(如果我专门在“spring子项目”文件夹中运行jar,则不会发生这种情况)或未找到SpringApplication类(如果在中运行jar,则不会发生这种情况)子项目文件夹)

我该如何解决这个问题?

谢谢!

最佳答案

我广泛使用这种模式。不要尝试将部署类放入根目录,而是添加一个模块(我通常称之为 -launcher),该模块将其他模块列为依赖项,并包含主类和相关应用程序代码,例如任何application.properties 你可能有。

此模块将生成一个工件 my-project-launcher.jar,您可以将其部署到您正在使用的任何平台。

关于java - 将 spring 子项目打包到一个 jar 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45397873/

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