项目构建与部署

news2025/1/9 19:31:37

项目构建与部署

    • Jar部署
    • War部署
    • 1.修改打包形式
    • 2.排除内置的Tomcat容器
    • 3.添加servlet-api依赖
    • 4.修改启动类

项目可以内嵌Servlet容器,因此部署极为方便,可直接打包成可执行Jar包部署在有Java运行环境的服务器上,也可以打成War包并部署到外部Tomcat服务器上等。

Jar部署

Spring Boot打包成Jar包一般使用spring-boot-maven-plugin这个插件,该插件在创建Spring Boot Web项目时自动会在pom.xml文件中生成,代码如下:

1686295278835.png
当配置了该插件后就可以创建一个可执行的Jar文件。这在很大程度上简化了应用的部署,只需安装了JRE就可以运行。不过前提是应用程序的parent为spring-boot-starter(-?)parent。
配置完成后在Maven Project中双击执行clean,当clean执行完毕后,再执行install,如图所示。执行完毕后,会发现在项目根目录的target目录下有刚刚打好的Jar包。

1686295354255.png

接着直接进入target目录下执行如下命令即可启动项目:

java-jar hello-0.0.1-SNAPSHOT.jar

或者把这个Jar文件放在任意盘符中,按住Shift+鼠标右键进入PowerShell输入命令启动项目,如图

1686295426903.png

War部署

Spring Boot默认打包成Jar包,使用Spring Boot构造Web应用,默认使用内置的Tomcat。但考虑到项目需要集群部署或者进行优化,就需要打包成War包部署到外部的Tomcat服务器中。

1.修改打包形式

修改pom.xml文件将默认的Jar方式改为War方式,代码如下:

1686295476851.png

2.排除内置的Tomcat容器

在pom.xml文件中移除Tomcat,代码如下:

1686295608353.png

3.添加servlet-api依赖

在pom.xml文件中添加servlet-api依赖,代码如下:

1686295642977.png

4.修改启动类

启动类继承SpringBootSSpringBootServletInitializer并重写configure方法,代码如下:

/* 修改启动类,继承SpringBootServletInitializer并重写configure方法*/
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
         //注意这里要指向原先用main方法执行的Application启动类
         return builder.sources(Application.class);
    }

5.打包部署
打包War包的方式和打包Jar包的方式一样都是在Maven Project中双击执行clean,当clean执行完毕后,再执行install。然后把target目录下的War包放到Tomcat的webapps目录下,启动Tomcat,即可自动解压部署。最后在浏览器中就可以访问该打包项目。注意:使用外部Tomcat部署访问时,application.properties(或者application.yml)中的配置将失效,请使用外置Tomcat的端口和webapps目录下项目名进行访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/627870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BurpSuite2023测试越权漏洞

BurpSuite2023测试越权漏洞 BurpSuite安装创建项目 - 打开内置浏览器越权漏洞测试问题处理 BurpSuite安装 官网下载社区版并安装,下载地址:链接: https://portswigger.net/burp 安装成功后图标 创建项目 - 打开内置浏览器 打开BurpSuite&#xff0c…

uni-app打包ios的步骤

注意:下面的操作必须同时满足三个条件,且这三个条件都是必须得: 1.有一个苹果开发者账号(要收费) 2.有一台苹果笔记本(在笔记本上生成证书和文件) 3.有一部苹果手机(用于测试app的功能) 使用uniapp发布ios的应用的步骤如下: 点击发…

Lecture 14 Context-Free Grammar

目录 Context-Free GrammarBasics of Context-Free GrammarsCFG Parsing ConstituentsSyntactic ConstituentsConstituents and PhrasesExample: A Simple CFG for English and generating sentencesCFG Trees CYK AlgorithmCYK AlgorithmConvert to Chomsky Normal FormThe CY…

影响电磁铁磁力大小的因素有哪些

影响电磁铁磁力大小的因素主要有四个,一是缠绕在铁芯上线圈的圈数,二是线圈中电流的强度,三是缠绕的线圈与铁芯的距离,四是铁芯的大小形状。 首先要了解电磁铁的磁性是如何产生的,通电螺线管的磁场,由毕奥&…

C#程序设计实验

C#实验 实验1 C# 基本编程 题目 VS下新建一个控制台项目:诸如:hello world程序,运行程序输出结果。并解释C#程序的结构: 诸如:一个基本的C#程序包含几部分 ,每一部分的功能是什么。。。 完整代码 usin…

YAPI接口自动化测试该如何正确地操作

目录 前言: 1、它首先是一个很好的接口维护的工具; 2、单个接口测试时,更方便灵活,更易用; 3、接口自动化测试,可以0代码基础进行接口集合的测试; 前言: YAPI是一款易于使用、可…

Lecture 15 Probabilistic Context-Free Grammar

目录 Ambiguity in Parsing Basics of PCFGsBasics of PCFGsStochastic Generation with PCFGs PCFG ParsingCYK for PCFGs Limitations of CFGPoor Independence AssumptionsLack of Lexical Conditioning Ambiguity in Parsing Context-Free grammars assign hierarchical st…

OpenELB 在 CVTE 的最佳实践

作者:大飞哥,视源电子股份运维工程师, KubeSphere 社区用户委员会广州站站长,KubeSphere Ambassador。 公司介绍 广州视源电子科技股份有限公司(以下简称视源股份)成立于 2005 年 12 月,旗下拥…

最详细整理,HttpRunner接口自动化框架Hook机制详解(详细)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 httprunner 4.x可…

软体机器人,刚柔软机器人仿真建模,干货满满,直接上图!

一、 背景: 软体机器人技术是近年来机器人领域最为热门的研究领域之一。软体机器人具有天然的柔 性、自适应性、低成本和被动安全性,在人机交互、医疗服务等领域具有广泛的应用前景。同时, 软体机器人的研究涉及软材料、机构设计、仿生学、微…

全链路压测

一般区分为两种:测试环境和生产环境压测。因生产环境的压测和真实用户的使用环境完全一致,测试结果更具有参考性。 全链路的压测的实施一般需要给压测请求带一个压测标识,用于压测数据的数据落库,查询,缓存&#xff0c…

设备维修管理系统

设备维修管理系统能够有效提高设备管理水平和设备运行效率。它不仅能够帮助企业实现设备信息化管理,还可以快速定位设备故障,提高设备修复效率,从而更好地保障生产安全和生产效率。 凡尔码搭建设备维护保养管理系统主要由以下几个模块组成&am…

【TA100】图形 2.2 模型与材质基础

一、 渲染管线与模型基础 1.可编程渲染管线 ● 蓝色背景的:可编程管线 ● 顶点着色器:模型的顶点进行计算 ● 片元着色器:将光栅化阶段插值的信息进行计算 2.uv ● 纹理映射:任何3D物体的表面都是2D的→纹理就是一张图→纹理…

6个免费商用图片素材库,再也不用担心版权问题了

本期给大家分享6个免费可商用的视频素材网站,设计师、自媒体、视频剪辑有福啦,再也不用担心版权问题了,记得收藏起来哦~ 菜鸟图库 https://www.sucai999.com/pic.html#?vNTYxMjky 网站主要是为新手设计师提供免费素材的,素材的…

[CKA]考试之基于角色的访问控制-RBAC

由于最新的CKA考试改版,不允许存储书签,本博客致力怎么一步步从官网把答案找到,如何修改把题做对,下面开始我们的 CKA之旅 题目为: Context: 为部署流水线创建一个新的ClusterRole并将其绑定到范围为特定…

Pandas的to_sql()插入数据到mysql中所遇到的问题

使用pymysql驱动API,出现如下错误: DatabaseError: Execution failed on sql ‘SELECT name FROM sqlite_master WHERE type‘table’ AND name?;’: not all arguments converted during string formatting 1. pandas的数据表插入数据到mysql中所遇到…

王道考研数据结构代码总结(后四章)

目录 树基本概念与属性树的基本性质 图拓扑排序 本文包含王道考研讲课中所涉及的数据结构中的所有代码,当PPT代码和书上代码有所区别时以咸鱼的PPT为主,个人认为PPT上的代码比王道书上的代码要便于理解,此外,本博客也许会补充一些…

css01:顶部导航栏,左右分离布局

css01&#xff1a;顶部导航栏&#xff0c;左右分离布局 效果 代码 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>顶部导航栏</title><style>body {margin: 0;padding: 0;}.top-nav {background-color: #ff…

Python采集二手车数据信息,看看啥车最得心意

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 环境使用: python 3.8 运行代码 pycharm 2022.3.2 辅助敲代码 专业版是付费的 <码可以免费用> 社区版是免费的 模块使用: 内置模块 无需安装 csv 第三方模块 需要安装的 requests >>> pip install req…

大数据可视化开源平台,一招让数据资源活泛起来!

在现代化办公环境中&#xff0c;数据资源也是非常重要的一种发展要素。有不少朋友会私信我们询问道&#xff1a;如何将企业内部的数据资源利用起来&#xff0c;真正发挥其价值为我所有&#xff1f;在这里&#xff0c;推荐大家了解大数据可视化开源平台&#xff0c;这是可以为企…