Springboot中使用内嵌服务器运行 WAR 文件的探索之路

这篇具有很好参考价值的文章主要介绍了Springboot中使用内嵌服务器运行 WAR 文件的探索之路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁
🦄 博客首页——猫头虎的博客🎐
🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺
🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐
🌊 《100天精通Golang(基础入门篇)》学会Golang语言,畅玩云原生,走遍大小厂~💐

🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥

使用内嵌服务器运行 WAR 文件的探索之路

摘要

在这篇文章中,笔者猫头虎将带领大家探讨一种不依赖外部服务器,仅通过命令行即可启动 WAR 文件的方案。通过深入研究和实践,我们将了解到 Spring Boot 的强大功能,它不仅支持创建可执行的 JAR 和 WAR 文件,而且内含内嵌的服务器,如 Tomcat、Jetty 和 Undertow,极大地简化了 Java Web 应用程序的部署和运行过程。本文将从理论到实践,全面、详尽地展示如何利用 Spring Boot 和命令行工具在后台运行 WAR 文件,同时捕获并输出启动日志。通过本文,你将掌握一种快速、简便的 Java Web 应用程序部署方法。

引言

传统上,运行 WAR (Web Application Archive) 文件需要依赖外部的服务器,例如 Apache Tomcat。然而,随着技术的进步,现在我们可以通过使用 Spring Boot 来简化这个过程。Spring Boot 允许我们将应用程序打包为一个可执行的 JAR 或 WAR 文件,这些文件包含了一个内嵌的服务器,从而使我们能够轻松地从命令行启动应用程序。

正文

Spring Boot 的优势

Spring Boot 具有以下几个显著的优势:

  1. 简化配置:
    Spring Boot 提供了许多默认配置,从而减少了配置文件的需求。

  2. 内嵌服务器:
    Spring Boot 支持内嵌的 Tomcat、Jetty 和 Undertow 服务器,无需额外安装和配置。

  3. 独立运行:
    应用程序可以打包为可执行的 JAR 或 WAR 文件,使得部署和运行变得非常简单。

准备工作

首先,我们需要确保我们的项目已经正确地配置为 Spring Boot 项目。更新 pom.xml 文件以包含 Spring Boot 的依赖项和插件:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.5.5</version>  <!-- 使用最新版本 -->
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

创建 Spring Boot 主类

接下来,我们需要创建一个 Spring Boot 主类,作为应用程序的入口点:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

构建和运行

使用 Maven 或 Gradle 构建项目,然后从命令行启动应用程序:

mvn clean package
java -jar target/your-app.war

后台运行与日志捕获

在 Linux 系统中,我们可以创建一个 shell 脚本来简化启动过程,并在后台运行应用程序,同时捕获和输出启动日志:

#!/bin/bash

# 定义 WAR 文件和日志文件的路径
WAR_FILE="/path/to/your-app.war"
LOG_FILE="/path/to/output.log"

# 启动应用程序
nohup java -jar $WAR_FILE > $LOG_FILE 2>&1 &

# 使用 tee 命令将启动日志输出到控制台和日志文件
echo "Application is starting..." | tee -a $LOG_FILE

运行上述脚本,应用程序将在后台启动,并且启动日志将被捕获和输出。

总结

通过 Spring Boot,我们可以轻松地从命令行启动 WAR 文件,无需依赖外部服务器。本文详细介绍了如何配置和运行一个 Spring Boot 项目,以及如何创建一个 shell 脚本来简化启动过程。希望本文能为你提供在 Java Web 应用程序部署和运行方面的有用指南。

参考资料

  1. Spring Boot 官方文档
  2. Apache Tomcat 官方网站

本文由猫头虎首发,欢迎转载,但请注明作者和来源。🐯


原创声明

======= ·

  • 原创作者: 猫头虎

作者wx: [ libin9iOak ]

学习 复习

本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。

作者保证信息真实可靠,但不对准确性和完整性承担责任

未经许可,禁止商业用途。

如有疑问或建议,请联系作者。

感谢您的支持与尊重。

点击下方名片,加入IT技术核心学习团队。一起探索科技的未来,共同成长。文章来源地址https://www.toymoban.com/news/detail-833820.html

到了这里,关于Springboot中使用内嵌服务器运行 WAR 文件的探索之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何打war包,并用war包更新服务器版本

    1.打包,我用的maven打包 先执行clean将已经生成的包清除掉 清除完,点package进行打包 控制台输出success,证明打包成功了 文件名.war的后缀就是生成的war包 2.将war包上传致服务器 一般会在war包加上日期版本上传至服务器 解压上传的war包 jar -xvf cloud_esmp_doudian-4.0-230904.war 会生成

    2024年02月09日
    浏览(35)
  • idea连接远程服务器&上传war包文件

    选择Tools - Start SSH Session 添加配置 连接成功 Tools - Deployment - Browse Remote Host 点击右侧标签,点击\\\"…\\\" 点击Mappings,配置Local path 和 Deployment Path Local Path: 上传war包的文件夹目录路径 Deployment Path: 上传到服务器指定的文件夹的目录路径 选择war包,右击选择Deployment - Upload to … 在终

    2024年02月15日
    浏览(53)
  • 使用vscode远程服务器,让代码在vscode关闭后也在服务器后台运行

    可以使用VScode的Remote-SSH插件来连接远程服务器,并在关闭了VScode后让训练代码在后台运行。 具体的步骤如下: 安装VScode和OpenSSH,确保你可以在本地终端使用ssh命令连接服务器。 在VScode的扩展页面搜索并安装Remote-SSH插件。 在VScode的左侧菜单栏选择SSH Targets,点击齿轮图标,

    2024年02月11日
    浏览(49)
  • 使用Docker安装运行RabbitMQ---阿里云服务器

    目录 0、阿里云没开端口的得要去安全组规则去添加: 1、下载RabbitMQ镜像: 2、查看镜像是否下载成功,得到docker镜像id: 3、运行RabbitMQ: 4、查看RabbbitMQ容器是否启动成功: 5、启动RabbitMQ中的插件管理 6、访问RabbitMQ的web配置界面 7、运行成功 0、阿里云没开端口的得要去安全

    2024年03月12日
    浏览(59)
  • Linux云服务器的使用,以及运行Python程序

    目录 1、使用Linux云服务器的软件 1.1、MobaXterm_Personal 1.2、WindTerm 1.3、FileZilla FTP 2、Linux系统运行Python程序 3、Linux系统查看包、虚拟环境、安装包等 以下几个深度学习服务器都不错:智星云、AutoDL、恒源云 1.1、 MobaXterm_Personal 推荐MobaXterm_Personal mobaxterm是一款方便网站管理员远

    2023年04月25日
    浏览(52)
  • 在我的智能手机上使用 mysql 运行节点服务器

    在这篇文章中,我想展示如何在 Galaxy 智能手机上使用 mysql 运行节点服务器。看来智能手机可以用作带有wifi的linux系统。但它 可能会损坏您智能手机中的软件 ,所以我建议您 不要尝试 root 手机 。 要在智能手机上运行 mysql,需要访问 root。大多数智能手机品牌在 iOS 和 Android 之间

    2024年02月10日
    浏览(38)
  • 华为云云耀云服务器L实例评测|使用华为云耀云服务器L实例的CentOS部署Docker并运行Tomcat应用

    目录 前言 步骤1:登录到华为云耀云服务器L实例 步骤2:安装Docker 并验证Docker安装 步骤3:拉取Tomcat镜像并运行Tomcat容器 步骤4:放行8080端口 步骤5:访问tomcat 步骤6:管理Tomcat容器 小结 在云计算领域,Docker已经成为了最流行的容器化平台之一。它能够帮助您更加高效地部署

    2024年02月07日
    浏览(67)
  • SpringBoot如何使用MultipartFile进行文件上传保存到服务器本地

    之前一直都是用的别人封装好的文件上传方法,这次想自己写一个特别简单的,文件上传方法,非常适合新手观看… 首先需要Springboot需要有Web依赖,就是下面这个依赖 依赖导完了,下面就直接是代码,大家看一下 到这里文件上传的解释都在代码里面,下面如果报文件过大的报错还需

    2024年02月13日
    浏览(68)
  • 【Windows 系统笔记】使用服务器运行装载AList+本地安装RaiDrive进行网盘本地挂载

    大家肯定很好奇我为什么要写一篇这样的文章,因为之前一直使用本地挂载网盘,但是使得电脑一直开着而且还使得不是很方便,所以一直没有使用,但是随着笔记本装的东西一多使得对云盘使用较多,可以直接后台上传就可以 一台一直运行的服务器 本地电脑已经安装本地挂

    2024年02月03日
    浏览(67)
  • 云服务器使用jenkins+docker自动化部署SpringBoot项目

    docker 安装jenkins,就这一步都恶心死了 //拉取镜像,踩了很多坑,用其它版本的镜像插件一直安装失败,最后用的是lts版本(基础版) 用其它版本要么是连不上插件的下载地址,要么是插件下载不成功  docker pull jenkins/jenkins:lts  部署 docker run --user root -d -p 10240:8080 -p 10241:50

    2024年02月01日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包