🌷🍁 博主猫头虎 带您 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 具有以下几个显著的优势:
-
简化配置:
Spring Boot 提供了许多默认配置,从而减少了配置文件的需求。 -
内嵌服务器:
Spring Boot 支持内嵌的 Tomcat、Jetty 和 Undertow 服务器,无需额外安装和配置。 -
独立运行:
应用程序可以打包为可执行的 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 应用程序部署和运行方面的有用指南。
参考资料
- Spring Boot 官方文档
- Apache Tomcat 官方网站
本文由猫头虎首发,欢迎转载,但请注明作者和来源。🐯
原创声明
======= ·
- 原创作者: 猫头虎
作者wx: [ libin9iOak ]
学习 | 复习 |
---|---|
✔ |
本文为原创文章,版权归作者所有。未经许可,禁止转载、复制或引用。
作者保证信息真实可靠,但不对准确性和完整性承担责任。
未经许可,禁止商业用途。
如有疑问或建议,请联系作者。
感谢您的支持与尊重。文章来源:https://www.toymoban.com/news/detail-833820.html
点击
下方名片
,加入IT技术核心学习团队。一起探索科技的未来,共同成长。文章来源地址https://www.toymoban.com/news/detail-833820.html
到了这里,关于Springboot中使用内嵌服务器运行 WAR 文件的探索之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!