亲宝软件园·资讯

展开

SpringBoot项目打war包 SpringBoot项目怎样打war包问题详解

liucy007 人气:0
想了解SpringBoot项目怎样打war包问题详解的相关内容吗,liucy007在本文为您仔细讲解SpringBoot项目打war包的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot项目打war包,SpringBoot打包,下面大家一起来学习吧。

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包是否正常,方法如下:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

验证成功

加载全部内容

相关教程
猜你喜欢
用户评论