SpringBoot项目如何打war包问题详解
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包是否正常,方法如下:
如果不改成“/” 访问时路径前要加上此路径内容,如下图。
验证成功
到此这篇关于SpringBoot项目如何打war包问题详解的文章就介绍到这了,更多相关SpringBoot项目打war包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- SpringBoot项目打成War包部署的方法步骤
- SpringBoot中打war包需要注意事项
- SpringBoot打War包上传到阿里云的LINUX服务器的操作方法
- eclipse springboot工程打war包方法及再Tomcat中运行的方法
- Springboot项目打war包docker包找不到resource下静态资源的解决方案
- springBoot 打war包 程序包com.sun.istack.internal不存在的问题及解决方案
- Springboot打包为Docker镜像并部署的实现
- SpringBoot打包发布到linux上(centos 7)的步骤
- SpringBoot使用Maven插件进行项目打包的方法
- 关于SpringBoot 打包成的可执行jar不能被其他项目依赖的问题
相关文章
SpringBoot在启动类main方法中调用service层方法报“空指针异常“的解决办法
这篇文章主要介绍了SpringBoot在启动类main方法中调用service层方法报“空指针异常“的解决办法,大多数情况下,我们使用Springboot是创建一个maven项目,然后通过controller层的接口调用,但也有特殊情况,文章介绍的非常详细,需要的朋友可以参考下2024-06-06
最新评论