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>

打包操作:

SpringBoot项目如何打war包问题详解
SpringBoot项目如何打war包问题详解

war包打包成功。

如果想用idea中的外置tomcat验证war包是否正常,方法如下:

SpringBoot项目如何打war包问题详解

SpringBoot项目如何打war包问题详解
SpringBoot项目如何打war包问题详解

SpringBoot项目如何打war包问题详解

如果不改成“/” 访问时路径前要加上此路径内容,如下图。

SpringBoot项目如何打war包问题详解
SpringBoot项目如何打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
  • asp之家 软件编程 m.aspxhome.com