spingboot打war包的操作方式

2022-06-14 16:06:22 浏览数 (1)

为什么要打成war包

spingboot打包部署时默认是jar包,其内置了tomcat服务器,打包项目时如果未做配置,默认使用的就是内置的tomcat,有时候考虑到项目需要集群部署或者进行优化时,就需要打成war包然后部署到外部的Tomcat服务器中,本文主要讲解springboot中如何进行打war包的操作

操作步骤

1.修改pom.xml文件将默认的jar方式改为war:

代码语言:javascript复制
<!--	默认的打包方式-->
<!--	<packaging>jar</packaging>-->

<!--     改成打war包-->
	<packaging>war</packaging>

2 排除内置的tomcat,有2种方式

  • 1 通过exclusion标签来排除
代码语言:javascript复制
<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>
  • 2 通过添加tomcatjar包来操作
代码语言:javascript复制
这个jar包的意思就是打包时将内置的tomcat给去除
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
  1. 创建一个类继承SpringBootServletInitializer并实现configure方法
代码语言:javascript复制
@SpringBootApplication
public class MeasApplication extends SpringBootServletInitializer {
	public static void main(String[] args) {
		SpringApplication.run(MeasApplication.class, args);

	}

	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		return builder.sources(MeasApplication.class);
	}

}

打包时最好指定一下打包的war名称在pom中配置一下,通过fileName标签

代码语言:javascript复制
<build>
		<finalName>meas</finalName>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
</plugins>

注意:使用外部Tomcat部署时此时tomcat的端口号需要在外部tomcat的servier.xml中来进行单独配置

https://blog.csdn.net/qq_33512843/article/details/80951741

0 人点赞