将spring-boot项目以war包的方式发布

1.将原来的jar包形式改为war包形式,也就是将pom.xml文件里的jar改成

war

2.在打包时,首先应去除spring-boot自身内置的tomcat,在pom文件里添加如下配置,provided代表不将此依赖打入war包中


	org.springframework.boot
	spring-boot-starter-tomcat
	provided

3.修改启动类继承SpringBootServletInitializer,

@SpringBootApplication
@EnableScheduling
@ComponentScan(basePackages = {"io.san.common","io.san.api"})
public class ApiApplication extends SpringBootServletInitializer {


	public static void main(String[] args) {
		SpringApplication.run(ApiApplication.class, args);
	}

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

使用IDEA导出war包

在IDEA中点击【Build】——【Build Artifacts】,然后选择要打包的springboot工程,点击【Build】或者【ReBuild】,然后在工程的target目录下面会生成war包。

将spring-boot项目以war包的方式发布_第1张图片

在tomcat中使用war包访问

将打好的war包放在tomcat的webapps目录下面,启动tomcat,war包会自动解压出一个和war包同名的文件夹,这个时候可以通过路径【http://ip:port/war包的名称】来访问springboot系统,这里的ip和port为外部tomcat的ip和端口号,并不是application.yml中的端口号。如果需要修改配置的话可以在解压的文件夹中找到springboot的yml配置文件,修改其中的配置项,然后重启tomcat生效。

将spring-boot项目以war包的方式发布_第2张图片

6 注意事项

6.1 tomcat版本

记得外部tomcat要使用8.5及以上的版本,不然支持不了springboot,切记!

你可能感兴趣的:(java)