Tomcat部署SpringBoot项目的war包的方法及详细步骤

 更新时间:2023年07月03日 08:56:07   作者:多放香菜少加葱  
这篇文章主要介绍了Tomcat部署SpringBoot项目的war包的方法,本文分步骤结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

Tomcat部署SpringBoot项目的war包的方法

一、环境

1.新建系统变量名: CATALINA_HOME,变量值:D:\Development\apache-tomcat-8.5.20 ; (CATALINA_HOME中的变量值为你tomcat的安装路径,不包括\bin)2.在系统变量Path中添加:%CATALINA_HOME%\bin。(;分号结尾,第一个%前面若没有分号,分号是英文状态下输入的)

配置完成,在dos下输入命令“startup”将会看到如下成功界面

二、SpringBoot打war包配置

pom.xml配置

springboot web启动器包含内置tomcat,改用外部 tomcat去除剔除springboot的tomcat

(1) 依赖(虽然已经添加依赖打包是剔除springboot的tomcat)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- 添加servlet-api依赖 -->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

(2)SpringBoot启动类,必须继承一个SpringBootServletInitializer,然后重写configure方法,目的是为当前这个SpringBoot启动类构建新资源。我这里项目创建的时候生成了一个ServletInitializer,所以直接继承ServletInitializer即可。如果你的项目没有ServletInitializer这个类,则手动继承。

public class ServletInitializer extends SpringBootServletInitializer {
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(SpringbootWarProjectApplication.class);
	}
}

1.利用 maven 打包成 war:mvn clean install —>> xx.war

2.图形操作按钮打包。

3.打包位置:启动后生成的war包(target包下),复制到tomcat目录下,记得设置tomcat的访问端口号。

三、Tomcat启动war包

机器下载的tomcat 8.5xx 压缩包,解压安装。(1) 编辑 tomcat 配置文件设置 访问端口为 项目配置文件中配置的端口号(保持访问端口不变)(2) 将打包好的 war 包复制到 tomcat/webapps 目录下(3) 启动 tomcat:bin/startup.xx(4) 启动成功,访问接口–>> 404可能存在的问题: 项目在intellij idea里配置tomcat可以启动访问, 打成war包丢到tomcat webapps下能启动却访问不了相关的接口, 这个问题是因为idea会默认将项目以ROOT为目录的文件,而丢到tomcat的webapps下面则是解压成你项目名称为目录的文件,和ROOT是同级的可以有以下几种解决方案一:将war包放在Tomcat的ROOT包下(或者将你的war名称改成作为ROOT.war)

二:在tomcat的server.xml文件的Host标签内配置

//<Context path="/" docBase="你项目的地址" reloadable="true"/>
<Context path="/car" docBase="C:\Users\Admin\Desktop\apache-tomcat-8.5.54\webapps\ROOT\JavaWebTest.war"  reloadable="true"></Context>

三、设置Tomcat默认访问路径

tomcat默认访问路径为 http://localhost:8080/项目名/页面等路径,有些客户要求只输入IP,自动进入项目登录页面,设置如下:修改tomcat/conf/server.xml在标签中加入:

<Context path="" docBase="E:\tomcat\webapps\项目文件夹名称" debug="0" reloadable="true" />

path:war包解压后的项目名称,也就是访问路径(例:http://localhost:8080/car/)docBase:war包的路径(需要把war包的后缀名加上,如上图所示,避免报错)reloadable:自动加载保存上述修改后,双击\bin\startup.bat启动Tomcat即可三:前端访问不到后端接口问题用tomcat发布时,将前端请求的路径加上你的项目名称正常启动后,地址栏输入localhost:8080会进入tomcat路径,ROOTweb.xml指定的index页面。所以要在地址栏输入localhost:8080/war包名称/ 就会进入tomcat路径中自己的文件夹。(该文件夹就是自己war被解析后生成的)

2.启动中文乱码问题:启动Tomcat后,产生的日志有乱码的情况出现,不要慌,这并不影响你项目的正常运行。这是由于编码不一致引起的,Tomcat启动后默认编码UTF-8,而Windows的默认编码是GBK。因此你想让其不乱码,只需配置conf\logging.properties的编码格式即可

修改保存后,重新启动Tomcat,你会发现产生的日志是我们所能看懂的了

3.启动成功的页面

到此这篇关于Tomcat部署SpringBoot项目的war包的方法的文章就介绍到这了,更多相关Tomcat部署SpringBoot项目的war包内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • 使用JMX监控Tomcat示例代码

    使用JMX监控Tomcat示例代码

    这篇文章主要介绍了使用JMX监控Tomcat示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Tomcat修正JDK原生线程池bug的实现原理

    Tomcat修正JDK原生线程池bug的实现原理

    这篇文章主要介绍了Tomcat是如何修正JDK原生线程池bug的,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • 详解IDEA创建Tomcat8源码工程流程

    详解IDEA创建Tomcat8源码工程流程

    这篇文章主要介绍了详解IDEA创建Tomcat8源码工程流程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • tomcat7的配置文件server.xml解析

    tomcat7的配置文件server.xml解析

    本篇文章主要介绍了tomcat7的server.xml解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Idea部署tomcat服务实现过程图解

    Idea部署tomcat服务实现过程图解

    这篇文章主要介绍了Idea部署tomcat服务实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Tomcat获取Nginx反向代理的客户端域名

    Tomcat获取Nginx反向代理的客户端域名

    今天小编就为大家分享一篇关于Tomcat获取Nginx反向代理的客户端域名,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 如何查看tomcat的控制台输出的方法

    如何查看tomcat的控制台输出的方法

    这篇文章主要介绍了如何查看tomcat的控制台输出的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Tomcat使用线程池处理远程并发请求的方法

    Tomcat使用线程池处理远程并发请求的方法

    这篇文章主要介绍了Tomcat使用线程池处理远程并发请求的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Tomcat执行startup.bat出现闪退的可能原因及解决

    Tomcat执行startup.bat出现闪退的可能原因及解决

    本文主要介绍了Tomcat执行startup.bat出现闪退的可能原因及解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • IDEA中的Tomcat中文乱码问题

    IDEA中的Tomcat中文乱码问题

    本文主要介绍了IDEA中的Tomcat中文乱码问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03

最新评论

?


http://www.vxiaotou.com