spring boot2 (33)-兼容 jar包和war包部署

spring boot默认部署方式是jar包,但有时候可能运维使用的是tomcat之类的容器,并要求提交war包。本篇将介绍jar包和war通用的配置方式。

pom.xml

修改打包方式为war包

<packaging>war</packaging>

spring boot中已经集成了spring-boot-starter-tomcat内置容器,这里覆盖配置主要是为了设置provided,意思是打包的时候不要将它打进war包,因为我们要在外置的tomcat中运行。

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>

启动类

SpringBootServletInitializer提供了servlet支持,当tomcat容器启动时,它会自动配置当前项目。

@SpringBootApplication
public class Run  extends SpringBootServletInitializer {
	
	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
		return application.sources(Run.class);
	}
	public static void main(String[] args) throws Exception {
		SpringApplication.run(Run.class, args);  
	}
}
生成war包

此时,执行mvn package打包命令时即会生成war包,可以放入tomcat中使用。对开发不会有任何影响,而且支持spring boot中的静态目录,如static等 

兼容jar包

spring boot中习惯是用java -jar命令运行jar包的,而war包则不能这样。不过spring boot提供了一个打包插件

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

该插件可参考第14篇,用于生成可用java -jar命令执行的包。此时,打成的war包即可以放tomcat中使用,也可以直接以java -jar命令启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值