SpringBoot打war包
程序员文章站
2022-05-24 20:29:32
...
1、 修改pom.xml文件,将项目打成war包
<packaging>war</packaging>
2、修改pom.xml文件,将内嵌容器的依赖标记为provide
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
提供一个SpringBootServletInitializer的子类,并覆盖其configure方法,完成初始化操作:
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//Application的类名
return application.sources(MallApplication.class);
}
}
如下图,类建立在MallApplication同级:
点击maven的package进行打包:
target下会生成war包(mall-1.0.jar):
然后放在tomcat的webapps目录下,在tomcat的bin目录下双击startup.bat,如下图:程序即可启动:
注意,因为我的项目在application.properties里配置了访问路径,即
server.context-path=/mall
,所以本地访问时是http://localhost:8080/mall,但是tomcat里启动的war包的访问路径是http://localhost:8080 + jar全名,即访问路径多了个mall-1.0,
所以,会导致页面内路径跳转出现问题,所以把jar包mall-1.0.jar直接改名为mall.jar,即可解决问题。然后访问http://localhost:8080/mall即可成功,注意打成jar无此问题。注意,项目所需图片文件夹应在tomcat的bin目录里:
推荐阅读
-
使用android studio打jar包并且集成第三方开源库(修改补充篇)
-
Java 环境部署之Idea :解决Idea 中gradle编译 war 包编码不对
-
iOS11&iPhoneX适配&Xcode9打包注意事项
-
Maven项目打包成war包部署到Tomcat的方法
-
spring boot打jar包发布的方法
-
Springboot项目打war包docker包找不到resource下静态资源的解决方案
-
springboot工程jar包部署到云服务器的方法
-
iOS11&iPhoneX适配&Xcode9打包注意事项
-
浅谈maven的jar包和war包区别 以及打包方法
-
springboot 打包部署 共享依赖包(分布式开发集中式部署微服务)