spring boot 项目由jar转war
2016-11-01 11:56
411 查看
spring boot 项目由jar转war
spring boot 快速构建web项目,官方推荐使用jar类型内嵌tomcat等容器的方式启动及部署,使用过程中难免要使用外部容器部署,可以通过以下方式转化:第一步:
转化jar类型项目为可部署的war文件的第一步是提供一个SpringBootServletInitializer子类和覆盖它的
configure方法。通常做法是,让应用程序的入口类继承SpringBootServletInitializer:
@SpringBootApplication public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
注意:不同版本继承的
SpringBootServletInitializer类不同
1.3.3版本为
org.springframework.boot.context.web.SpringBootServletInitializer
1.4.1版本为
org.springframework.boot.web.support.SpringBootServletInitializer
第二步:
若项目使用maven并且pom.xml继承了spring-boot-starter-parent,需要更改pom.xml中的
packaging为
war类型:
<packaging>war</packaging>
若使用
Gradle:
apply plugin: 'war'
第三步:
最后一步是确保嵌入servlet容器不干扰外部servlet容器部署war文件。需要标记嵌入servlet容器的依赖为provided。
若使用
Maven:
<dependencies> <!-- … --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!-- … --> </dependencies>
若使用
Gradle:
dependencies { // … providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' // … }
若war在部署到容器中时遇到
Project facet Cloud Foundry Standalone Application version 1.0 is not supported.错误;
解决办法: 项目右键Build Path -> Configure Build Path -> Project facet -> 勾掉Cloud Foundry Standalone Application
重新编译打包即可。
参考 :
[Spring Boot指南(Spring Boot Reference Guide)]
的以下两小节
81.1 Create a deployable war file
63.2 Packaging executable jar and war files
我是结尾。
相关文章推荐
- idea打包SpringBoot项目打包成jar包和war
- SpringBoot 项目打包方式 jar 和 war
- spring boot项目打包成jar或者war包
- SpringBoot项目打成war和jar
- 解决SpringBoot项目打成jar包访问不了jsp模板的问题: SpringBoot项目集成jsp模板打成war包 然后通过java -jar 命令启动访问
- springboot打包jar ,war遇到的问题。
- Spring Boot 将Freemarker打包到其他jar并在项目中引用的简单方法
- 使用idea创建springboot项目并打成war包发布到weblogic上
- springboot项目jar发布
- spring boot 项目打成war包发布至外部web容器运行
- spring boot项目打包成war并在tomcat上运行的步骤
- Spring Boot打包可执行的jar或者war文件
- 把 spring-boot 项目打包成可运行的 jar 包
- jenkins部署jar项目、springboot项目部署
- spring boot项目打包成war并在tomcat上运行的步骤
- spring boot -- 打包jar,war(二)打成war包,mapper文件扫描不到
- Spring-boot 打包 jar包 war包
- 解决springboot项目打war 包docker包找不到resource 下的静态资源问题
- Spring Boot学习---2.将项目打成war包部署到自己的tomcat中
- 通过maven将springboot项目发布为jar包