在生产中部署 Spring Boot

2024-01-09

我们有一个 Spring Boot + Angular 应用程序。目前我们正在将其打包为 jar 并运行它。

可以将包装用作 JAR 吗? 或者我们应该转向 WAR 类型的包装。 会有什么不同呢?


除了部署方式之外,没有其他区别。

使用 JAR 时,Spring Boot 创建的 Fat JAR 包含嵌入式 tomcat。

如果您的团队的部署环境具有 WebLogic 或 Websphere 等应用程序服务器(大多数企业环境都尝试选择该应用程序服务器,因为它们已经拥有这些或任何其他此类原因的许可证),那么您将需要创建 WAR。

For WAR:

Pros :

  • 创建战争是一个更安全的选择,因为您仍然可以根据需要部署在任何类型的应用程序或 Web 服务器中
  • 如果 DevOps 已经为其他拥有应用程序服务器设置的团队进行了设置,则允许 DevOps 轻松挂钩来控制服务器的启动和停止。

Cons:

  • 如果要部署在应用程序/Web 服务器中,则需要额外的配置和设置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在生产中部署 Spring Boot 的相关文章

随机推荐

  • US-ASCII 中的无效字节序列(Ruby 1.9 + Rails 2.3.8 + mongodb + mongo_mapper)

    我的设置是 linux Ruby 1 9 Rails 2 3 8 mongodb mongo mapper 我跟着http railscasts com episodes 194 mongodb and mongomapper http r
  • 使用 Cloud Functions for Firebase 获取匿名用户

    我正在使用 Cloud Functions 来管理项目中的数据库和身份验证 我按照这个例子https github com firebase functions samples tree master delete unused accou
  • 将浮点输入字符串流时出现“浮点无效操作”

    我有一段简单的代码 它从 FORTRAN 生成的 REAL 数组中提取浮点数 然后将其插入流中进行记录 尽管这适用于前 30 个案例 但在第 31 个案例中 它因 浮点无效操作 而崩溃 代码是 int FunctionDeclaration
  • 分配给映射中的匿名结构值

    我正在使用 go 1 3 如何访问映射的匿名结构 ValueType 的字段 package main import fmt type Words map string struct pos int n int func main w ma
  • Liquibase 先决条件不起作用

    我正在尝试使用 liquibase 来跟踪使用 dropwizard migrations 的 postgresql 数据库的更改 我希望能够在现有的生产数据库上运行迁移 而不是从头开始重建 现在我正在分阶段进行测试 我创建了一个带有前提条
  • 根据角度和距离求出Y点

    在我的项目中 我想从 X 点到 Y 点画一条线 虽然我知道 X 点的位置 但我只知道 Y 点的角度和距离 所以我的问题是通过角度 距X点 和距离得到Y点的坐标 我在这个项目中使用 JavaScript 并且不想使用任何图形库 例如 X 点
  • AppEngine/Go:将新版本的 Go 与 SDK 结合使用

    目前 Go SDK 附带的 Go 版本是 1 6 2 但最新版本是 1 7 1 我需要一些自 1 6 2 以来发布的增强功能 错误修复 但是 当我更换goroot在 SDK 目录中包含 Go 1 6 2 且符号链接指向 1 7 1 的目录中
  • 使用 Promise.all 解决获取请求

    我有一个包含 4 个请求对象的数组 我想在它们上使用 Fetch API 并获取承诺 然后我想解决每一个承诺并取回价值 这是我构建请求对象的方法 let requestsArray urlArray map url gt let reque
  • jQuery 动画 - 什么时候是异步的,什么时候不是?

    我有两个要设置动画的 div div div div div 我在 jQuery 中调用 animate 如下所示 sprite animate width 1 400 character animate width 1 400 chara
  • 在 pandas 中使用 groupby 过滤数据

    我有一个 DataFrame 其中包含以下数据 每行代表电视剧每集中出现的一个单词 如果一个单词在一个剧集中出现 3 次 则 pandas 数据框有 3 行 现在我需要过滤一个单词列表 这样我应该只得到出现超过或等于 2 次的单词 我可以通
  • 捕获单个任务中的异常并重新启动它们

    如果我创建一系列asyncio顶级类中的任务 所有这些任务基本上都应该永远运行 如下所示 asyncio create task asyncio create task asyncio create task self event loop
  • UICollectionView 单元格不可见

    我最近在我的故事板中添加了一个 UICollectionView 它目前被另一个视图推入视图 这似乎工作正常 但是 使用故事板编辑器 我将视图设置为包含 35 个单元格 这些单元格在编辑器中看起来很好 但是当我运行应用程序中的单元格是不可见
  • 使用azure数据工厂更新Azure机器学习模型

    当我使用数据工厂更新 Azure ML 模型时 如文档所述 https learn microsoft com en us azure data factory v1 data factory azure ml update resourc
  • 如何使用 C++ 更改/设置 DNS?

    我正在尝试使用 C 更改 设置 DNS 目前我无法找到这方面的任何资源 public static NetworkInterface GetActiveEthernetOrWifiNetworkInterface var Nic Netwo
  • 使用 SQL 编辑 XML 列。不那么结构化的 XML

    这个问题是一个这个问题的后续 https stackoverflow com q 40080985 5089204 如何通过获取 的新标签来编辑 XMLXXX 不是那么结构化的 xml 需要帮助 我对 XML 和 XQuery 非常陌生 如
  • 与 C# 和 VBA 的并行 COM 互操作

    我不是在谈论从 C 调用 VBA COM 相反 我想做的是在 MS Access 中使用 VBA 调用 C 库 而不注册 DLL 我已经玩了一段时间的并行互操作 但没有成功 我终于意识到 mdb manifest 可能不是 exe mani
  • 自动使基构造函数在派生类中可用?

    我有一个带有两个构造函数的基类 需要一个参数 public abstract class StoreBase private readonly SomeObject sobj protected StoreBase SomeObject s
  • 您重构代码的方式和频率如何?

    我的问题模糊地涉及this one https stackoverflow com questions 140677 how often should you refactor 但是 它不涉及技术或实践 我在读务实的程序员并且它强烈提倡尽可
  • 将大型 JS blob 传递给 Blazor byte[]

    我需要使用录制一些音频 甚至视频媒体API https developer mozilla org en US docs Web API MediaRecorder in JS example https mbuotidem github
  • 在生产中部署 Spring Boot

    我们有一个 Spring Boot Angular 应用程序 目前我们正在将其打包为 jar 并运行它 可以将包装用作 JAR 吗 或者我们应该转向 WAR 类型的包装 会有什么不同呢 除了部署方式之外 没有其他区别 使用 JAR 时 Sp