说明:Spring Boot由于内嵌了如Tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再像Spring项目还需要外置的Tomcat等容器来进行部署工作了,通过启动启动类就可以建立独立的Spring应用程序。Spring Boot部署在服务器上主要分为两种方式:一是打成jar包发布,二是打成war包发布,第一种方式只需要在该服务器中运行java -jar+部署项目的名称就可以启动(不要忘了.jar后缀名),操作比较简单,第二种方式操作比较复杂一点,并且是项目发布的常用打包方法,本编博客主要说明打成war包的方式如何部署到服务器中。

一。pom.xml文件配置

1.第一步我们需要移除Spring Boot项目中内置的tomcat容器,并配置外部的tomcat容器:

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-tomcat

org.springframework.boot

spring-boot-starter-tomcat

provided

2.第二步添加servlet依赖:

javax.servlet

javax.servlet-api

provided

3.第三步将打包的方式改成war包:

war

4.第四步修改打包的项目名称,使用build标签下的finalName标签修改:

ROOT

二。Spring Boot启动类配置:

该步骤有两种实现方式

1.第一种实现方式,启动类继承SpringBootServletInitializer类并重写configure方法:

@SpringBootApplication(exclude = WebAutoConfiguration.class)

public class GunsApplication extends SpringBootServletInitializer {

private final static Logger logger = LoggerFactory.getLogger(GunsApplication.class);

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

// 注意这里要指向原先用main方法执行的Application启动类

return builder.sources(GunsApplication.class);

}

public static void main(String[] args) {

SpringApplication.run(GunsApplication.class, args);

logger.info("GunsApplication is success!");

}

}

2.第二种实现方式,新建一个类继承SpringBootServletInitializer类并重写configure方法:(注意:该类要放在与启动类一致的目录下)

public class GunsServletInitializer extends SpringBootServletInitializer {

@Override

protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

return builder.sources(GunsApplication.class);

}

}

三。使用Maven工具打包:

四。发布到liunx服务器中:

连接到服务器,将打好的war包tomcat安装目录下的webapps,启动tomcat,自动解析war包生成相应的文件夹,打开浏览器输入ip:(tomcat启动端口号)就可以进行访问了。(注意:在这个例子中我删除了webapps目录下原有的ROOT文件夹,并且把项目的名称改成了ROOT,所以直接用ip+端口号就能直接访问,但是如果不是这么操作的话,需要在端口号后面再加上项目的名称即可访问。)

到此这篇关于SpringBoot中maven项目打成war包部署在liunx服务器上的方法的文章就介绍到这了,更多相关Springboot项目打war包部署到Linux内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

Linux中把文件夹打成war包,SpringBoot中maven项目打成war包部署在liunx服务器上的方法...相关推荐

  1. linux centos7增加文件夹权限,在Centos7系统中实现用户和文件权限的管理

    实验:用户和文件权限管理 涉及到的命令:useradd usermode mkdir groupadd passwd chown chmod 建立用户目录 创建目录/tech/benet和/tech/ ...

  2. idea overlays文件夹_使用IDEA加载maven项目没有出现overlays目录的解决方法

    使用IDEA加载maven项目没有出现overlays目录的解决方法 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdo ...

  3. Android Studio中新增文件夹并新建Activity时,编译后提示“程序包R不存在”解决

    开始看到网上的各种方法都不是很好用,最后看到一种方法,其实超级简单,直接加进来就行了. 比如我的工程中每个activity中都有 package com.example.chen.bluetestap ...

  4. 服务器新建文件命令,云服务器中新建文件夹命令

    云服务器中新建文件夹命令 内容精选 换一换 使用mount命令挂载文件系统到云服务器,云服务器提示access denied,挂载失败.原因1:文件系统已被删除.原因2:执行挂载命令的云服务器和被挂载 ...

  5. github删除项目中的文件夹

    github中的文件夹不能直接在网页中删除,这时候需要用到MINGW64去操作管理github中的项目,具体怎么安装MINGW64这里就不多做说明. 我是第一次操作,但是也成功了.先把自己的项目clo ...

  6. 群晖增量同步Linux文件夹,用自定义脚本实现群晖NAS中本地文件夹之间的增量同步复制...

    用自定义脚本实现群晖NAS中本地文件夹之间的增量同步复制 2021-02-21 15:39:44 60点赞 646收藏 52评论 使用情景:群晖DS918+,两块12T RAID1存重要数据,1块2T ...

  7. 在linux系统中创建文件夹,Linux系统中创建文件夹命令详解

    Linux系统中创建一个新的文件夹我们可以使用命令来执行,下面由学习啦小编为大家整理了Linux系统中创建文件夹命令详解,希望对大家有帮助! Linux系统中创建文件夹命令详解 一.mkdir命令使用 ...

  8. linux中tmp文件在哪,Linux系统中/tmp文件夹

    在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能大家知识的就不多了,所以,今天我们就来剖析一个这两个问题. 在RHEL\CentOS\Fedora\系统中(本次 ...

  9. 深入探讨:linux中遍历文件夹下的所有文件

    深入探讨:linux中遍历文件夹下的所有文件 http://www.jb51.net/article/37664.htm

最新文章

  1. 比Momentum更快:揭开Nesterov Accelerated Gradient的真面目NAG 梯度下降
  2. IoC容器Autofac(1) -- 什么是IoC以及理解为什么要使用Ioc
  3. C#多线程学习(四) 多线程的自动管理(线程池) (转载系列)——继续搜索引擎研究...
  4. 推荐8个年薪100万BAT级优质技术大号
  5. 中国科学家Cell重要评述文章: 宏基因组学成为病毒分类新方法
  6. Linux c vim跳到指定行,grep与vim工具基本命令详解
  7. 【Linux】Centos7 下使用Apache 配置网站虚拟地址, 另附 laravel 虚拟地址配置
  8. mysql1215_这15条MySQL改善经验必须收藏
  9. Android之自定义View的实现
  10. 怎么用计算机截图快捷键,电脑怎么截图截屏 电脑截图的快捷键是什么
  11. Envoy实现.NET架构的网关(一)静态配置与文件动态配置
  12. 计算机基础及ms应用在线,全国一级计算机基础及MS Office应用课件 (2).pdf
  13. c语言中变量可以用x1表示没,你必须知道的495个C语言问题 读书笔记
  14. 力扣-118 杨辉三角
  15. unity脚本中print及Debug.Log
  16. 联想服务器告警信息分析,联想服务器mib分析
  17. C语言实现入门级小游戏——扫雷(排行榜+玩家自定义难度+递归展开一片+标记地雷)版本
  18. linux中etc目录的作用,/etc 目录的作用到底是干什么用的?
  19. 尚德机构营收同比大涨22.9%,高增长可持续吗?
  20. 【QT】——07_Lambda表达式(笔记)

热门文章

  1. 该工程中的宏被禁止_建筑工程的发包与承包中有哪些行为是禁止的?
  2. python3.7安装包多大_python3.7 pip 安装第三方包
  3. 查询性能优化(使用 Explain 进行分析、优化数据访问、重构查询方式)、存储引擎(InnoDB/MyISAM)
  4. studioone精调效果包_cnocr: 极简的中文OCR Python包
  5. couchdb 自动生成html,如何在CouchDB中使用html模板
  6. Linux 信号可靠性,同步,异步,多线程信号等介绍
  7. linux进程命令解释,linux 进程命令top详解
  8. Kubernetes入门——Kubernetes工作原理及使用
  9. listview里怎么加按钮_一张照片出现好多分身,这怎么做的?
  10. prince2 成功的项目管理_PRINCE2试听福利丨成功的项目管理方法论