SpringBoot项目的创建和jar、war方式的部署

2023-10-30

一、创建项目

 

项目开发用的是IDEA、java版本为1.8、Tomcat版本为9.0.8

新建项目

选择Spring Initializr,下一步

填写group和artifact信息,下一步

选择Web中的Web,下一步

选择存放路径,例如我的是F:\SpringMVCshizhan\springboot目录下

好的,目前一个springboot项目就创建好了

首先我们新建一个web包在com.project.springboot下,再新建一个控制类用于测试我们的访问。

如下所示:

IDEA运行

接下来就运行 SpringbootApplication.java, 然后访问地址

打开浏览器输入127.0.0.1:8080/hello进行访问,如果出现Controller中的返回Hello Spring Boot!,恭喜你,项目测试成功

 

 

部署方式

Springboot 和我们之前学习的web 应用程序不一样,其本质上是一个 Java 应用程序,那么又如何部署呢? 
通常来说,Springboot 部署会采用两种方式:全部打包成一个jar,或者打包成一个war。

jar部署方式

首先,打开cmd,进入刚刚创建项目时的项目目录

执行

mvn install

语句

显示BUILD SUCCESS,这样说明打包成功,这样会在项目F:\SpringMVCshizhan\springboot\target目录下生成一个jar文件

输入命令:

java -jar target/springboot-0.0.1-SNAPSHOT.jar

就启动这个jar了
通过这种方式,把此jar上传到服务器并运行,就可达到部署的效果了

war部署方式

第一步:修改SpringbootApplication.java文件

新加@ServletComponentScan注解,并且继承SpringBootServletInitializer 。

具体为什么要这样、 这是规定, 要弄成war部署的方式 ,就得这么写

在pom.xml文件中也要修改一些代码

修改完毕,打开cmd,进入项目目录

BUILD SUCCESS,成功,则会在F:\SpringMVCshizhan\springboot\target目录下生成一个springboot-0.0.1-SNAPSHOT.war文件

复制该文件到Tomcat的webapps目录下,并将其文件名修改为ROOT.war

ROOT.war 并不是指访问的时候要使用 /ROOT/hello ,而是直接使用/hello 进行访问,ROOT表示根路径。

运行tomcat下的 bin目录里的startup.bat, 然后就可以启动了. 启动后访问如下地址测试:

打开浏览器进行测试

页面显示Hello Spring Boot!

恭喜你,部署成功。

 

在项目部署的时候还是会遇到些问题,比如Tomcat进行war启动时,会出现SpringbootApplication未创建等问题。导致页面404未能访问。

但是重新进行war生成之后放到webapps再运行,又可以访问。

如果有什么运行中出现的问题,可以留下你的评论。

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot项目的创建和jar、war方式的部署 的相关文章

随机推荐

  • eclipse常用设置

    eclipse常用设置 设置字体 window preferences General Appearace Colors and Fonts 设置字符编码 window preferences General Workspace Text
  • Spire.XLS 图表系列教程:C# 如何不使用工作数据创建Excel图表以及Excel雷达图

    更多资源查看 Spire XLS工作表教程 Spire Doc系列教程 Spire PDF系列教程 下载Spire XLS最新试用版 Spire XLS for NET 是一款专业的 NET Excel 组件 它可以用在各种 NET 框架中
  • 利用Dialogflow构建聊天机器人

    作者 Priyanka Vergadia Developer Advocate Google Anu Srivastava Developer Advocate AI ML 在如今的办公环境下 在线协同工作至关重要 保持生产力也是关键 聊天
  • 用Python自动化操作PPT,看完这篇文章就够了!

    作者 超级大洋葱806 https tangxing blog csdn net article details 109568830 大家好 我是小z 今天给大家分享一波Python自动化操作PPT的干货 1 PPT自动化能干什么 有什么优
  • django 项目中脚本启动

    django项目中的脚本如何快速方便启动 如上如 创建文件script放置脚本项目文件 在manage py同目录下创建run script py文件启动脚本 run script py代码 coding utf 8 import os i
  • ==与equals有什么区别

    与equals的区别 相同点 1 和equals都是用于完成比较操作 2 和equals的判定结果都是boolean值 true或false 不同点 1 是个运算符 本质上用于比较两个值是否相等 2 使用 运算符比较的值可以是基本类型的值
  • 在ubuntu20.4下安装ROS-noetic(全步骤经反复验证成功)

    注意 如果有conda环境 conda deactivate推出环境 1 4步骤都是很顺利的 如果下载失败请换源 第5步rosdep比较繁琐 但是根据我的使用情况 发现不按照rosdep也能正常使用 更新于2022 3 安装过程的打印信息可
  • 【图像处理】《数字图像处理-冈萨雷斯》笔记

    数字图像处理 冈萨雷斯 笔记 第一章 绪论 图像处理实例 伽马射线成像 X射线成像 紫外波段成像 可见光以及红外线成像 微波波段成像 无线电波成像 声波成像 图像处理的基本步骤 图像获取 滤波与增强 图像复原 彩色图像处理 小波与分辨率处理
  • JMeter 安装教程(详细安装教程)

    JMeter 安装教程 详细安装教程 一 jdk下载 注意 因为jmeter运行依赖jdk环境 所以在安装jmeter之前需要安装jdk且配置环境变量 需要jdk1 8以上版本 1 jdk下载地址 http www oracle com t
  • Vue实现下载及文件重命名

    效果如下 实现步骤 html
  • 理解JavaScript作用域和作用域链

    一 JavaScript中的作用域 作用域是当前的执行上下文 值和表达式在其中 可见 或可被访问 如果一个变量或表达式不在当前的作用域中 那么它是不可用的 function foo var x sfa console log x x is
  • 31黑马QT笔记之QPixmap、QImage、QPicture功能大总结

    31黑马QT笔记之QPixmap QImage QPicture功能大总结 QPixmap QImage既可以用于绘图 又可以作绘图设备时保存图片 而QPicture只能用于作绘图设备时保存图片状态 保存前需要用到前两种方法绘图 要显示必须
  • Go Lang 从Request中解析文件和参数

    如果要处理上传的文件 就必须使用multipart form data编码 处理multipart form data编码的请求时 解析使用ParseMultipartForm 之后从MultipartForm字段取值 前端上传代码
  • powershell 学习笔记

    命令模式 字符串不需要加引号 除变量和圆括号中的内容外的所有内容均可看作字符串 copy users txt accounts txt copy src dest write host 2 2 表达式模式 以最高级别语言分析方法来进行分析
  • 高通平台MSM8916LCM模块移植(一)-bootloader部分

    目录 LK中LCM启动流程 oem panel select mdss dsi initialize read panel id 此次移植打算分成两个模块来说 bootloader部分和kernel部分 在实际的移植调试过程中也是这么分成了
  • C语言期末复习编程练习之百钱百鸡问题

    古代数学家张丘建在 算经 一书中提出的数学问题 鸡翁一值钱五 鸡母一值钱三 鸡雏三值钱一 百钱买百鸡 问鸡翁 鸡母 鸡雏各几何 创作此系列的原因也是为了复习期末考试 各位见谅哦 include
  • 近7000万美元被盗:Curve被攻击事件分析

    7 月 31 日 以太坊编程语言Vyper发布公告称 Vyper 0 2 15 0 2 16 和 0 3 0 版本的递归锁失效 随后Curve Finance等相关协议出现了漏洞攻击事件 漏洞的根源都是某些版本的 Vyper 中出现故障的递
  • python发送邮件zmail库

    第三方库 zmail 和 yagmail 可实现邮件发送 在实际使用对比zmail比yagmail更简洁 使用zmail 无需登录OA邮箱 便可完成邮件的发送及附件的自动加载 import zmail def send zmail send
  • JupyterHub on Kubernetes部署

    理论是灰色的 实践之树长青 恩格斯 近日在做毕设项目 涉及到在K8s和swarm基础上部署JupyterHub 经过两天时间的学习和部署 N次的失败尝试 最终在服务器上成功部署了JupyterHub 实验依赖 阿里云服务器2核4G ubun
  • SpringBoot项目的创建和jar、war方式的部署

    一 创建项目 项目开发用的是IDEA java版本为1 8 Tomcat版本为9 0 8 新建项目 选择Spring Initializr 下一步 填写group和artifact信息 下一步 选择Web中的Web 下一步 选择存放路径 例