赞
踩
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配置
<!--打包形式-->
<packaging>war</packaging>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- 该依赖的作用是:在项目打包时,剔除springboot内置tomcat。-->
<!-- 如果没有该步骤,打成的war包内,会有关于内置tomcat的多余的jar包,但是并不影响项目最终的部署与运行。-->
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包
//<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.启动成功的页面
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。