SpringBoot项目如何打war包问题详解
作者:liucy007 时间:2023-06-07 08:33:47
1、pom.xml配置修改
<packaging>jar</packaging>
//修改为
<packaging>war</packaging>
2、pom文件添加如些依赖
<!--添加servlet-api的依赖,用来打war包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
3、排除springboot内置的tomcat干扰
<!--最终打成war包,排除内置的tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
4、改造启动类
如果是war包发布,需要增加SpringBootServletInitializer子类,并重写其configure方法,
或者将main函数所在的类继承SpringBootServletInitializer,并重写configure方法
当时打包为war时上传到tomcat服务器中访问项目始终报404错就是忽略了这个步骤!!!
改造之前:
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
SpringApplication.run(MainApp.class,args);
}
}
改造之后:
@SpringBootApplication
public class SpringBootMytestApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringBootMytestApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(SpringBootMytestApplication.class);
}
}
这种改造方式也是官方比较推荐的方法
5、pom文件中不要忘了maven编译插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
打包操作:
war包打包成功。
如果想用idea中的外置tomcat验证war包是否正常,方法如下:
如果不改成“/” 访问时路径前要加上此路径内容,如下图。
验证成功
来源:https://blog.csdn.net/liucy007/article/details/116711426
标签:SpringBoot,打war包
0
投稿
猜你喜欢
Android评分控件RatingBar使用实例解析
2022-02-07 14:17:03
Java中泛型的用法总结
2023-03-03 08:54:47
36个Android开发常用经典代码大全
2023-02-18 04:54:21
Javassist用法详解
2023-06-26 17:11:54
SpringBoot 创建web项目并部署到外部Tomcat
2023-09-15 18:25:04
IntelliJ IDEA本地代码覆盖后恢复原来的代码图解
2022-03-09 22:42:19
Android XListView下拉刷新和上拉加载更多
2022-11-01 19:07:45
Java扩展库RxJava的基本结构与适用场景小结
2022-12-27 10:03:15
C#及WPF获取本机所有字体和颜色的方法
2022-12-23 01:23:13
使用Feign调用注解组件(实现字段赋值功能)
2023-01-06 15:19:59
java读取文件里面部分汉字内容乱码的解决方案
2022-06-11 03:32:49
Android Flutter实现有趣的页面滚动效果
2023-02-14 06:58:10
Android 7.0应用之间如何共享文件
2021-09-18 08:43:15
spring boot结合Redis实现工具类的方法示例
2023-05-12 09:47:46
Android编程实现等比例显示图片的方法
2022-05-20 03:37:34
举例讲解C#编程中对设计模式中的单例模式的运用
2023-04-28 19:34:10
Android项目类似淘宝 电商 搜索功能,监听软键盘搜索事件,延迟自动搜索,以及时间排序的搜索历史记录的实现
2022-01-20 22:21:12
Android Activity与Intent详解及示例代码
2023-07-13 17:10:33
Android控件Tween动画(补间动画)实现方法示例
2021-12-31 17:46:39
Java基本数据类型族谱与易错点梳理解析
2021-08-18 10:20:27