gpt4 book ai didi

spring-boot - 是否可以使用@SpringBootApplication main制作一个带有两个spring boot应用程序的胖子

转载 作者:行者123 更新时间:2023-12-03 05:19:10 25 4
gpt4 key购买 nike

我是Spring Boot / Gradle的新手,所以如果我说错了,请随时纠正我。
我有两个Spring Boot项目,我正在使用Spring Boot Gradle插件在不同的端口中一个接一个地运行,并生成相应的jar。
我想知道是否有可能生成一个可以在不同端口运行两个项目的胖子 jar 。
这是我的项目的结构:
项目

  • setting.gradle
  • Project-1
  • src /.../@ SpringBootApplication主要
  • build.gradle

  • Project-2
  • src /.../@ SpringBootApplication Main2
  • build.gradle


  • 我将两个项目都包含在setting.gradle中,将Project-2包含在Project-1的依赖项中,并尝试了 gradle clean build,但是在Project-1中生成的胖 jar 不包含Project-2的 jar 。我的期望是,当我运行胖子jar时,它将在各自的端口中暴露两个项目,就像在每个项目上执行 gradle bootRun一样。
    我在做什么对吗?我假设将Project-2放在Project-1的依赖项中,gradle可以创建我想要的胖子。
    还是那不可能,我只需要使用发给我的两个 jar ?
    感谢您的时间。

    最佳答案

    您可以在同一个tomcat实例后面部署两个单独的jar,以获得相同的结果。假设如果在tomcat后面部署my-first-jar.jarmy-second-jar.jar,您将获得两组端点,例如:
    http:// localhost:8080 / my-first-jar / apis-from-first-jar
    http:// localhost:8080 / my-second-jar / apis-from-second-jar
    但是,似乎无法正确创建胖子。默认情况下,项目的依赖项不包含在jar中。您需要明确地对构建工具(在您的情况下为gradle)说一个胖子。看看here
    一旦创建了Project 1的胖子 jar ,它也将具有来自Project 2的文件,但是您将只能运行单个spring boot应用程序。
    PS:如果您愿意,您可以在一个容器应用程序中运行多个应用程序。看看here,但不建议您沿着那条路走,因为它杂乱无章

    关于spring-boot - 是否可以使用@SpringBootApplication main制作一个带有两个spring boot应用程序的胖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64502011/

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