springboot使用war包
参考博客:http://www.cnblogs.com/qianzf/p/8405479.html
1、在pom文件中添加<packaging>war</packaging>
2、移除springboot的tomcat插件,在pom.xml里找到spring-boot-starter-web
依赖节点,在其中添加如下代码,
1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-web</artifactId> 4 <!-- 移除嵌入式tomcat插件 --> 5 <exclusions> 6 <exclusion> 7 <groupId>org.springframework.boot</groupId> 8 <artifactId>spring-boot-starter-tomcat</artifactId> 9 </exclusion> 10 </exclusions> 11 </dependency>
3、添加servlet-api依赖
1 #方式1 2 <dependency> 3 <groupId>javax.servlet</groupId> 4 <artifactId>javax.servlet-api</artifactId> 5 <version>3.1.0</version> 6 <scope>provided</scope> 7 </dependency> 8 #方式2 9 <dependency> 10 <groupId>org.apache.tomcat</groupId> 11 <artifactId>tomcat-servlet-api</artifactId> 12 <version>8.0.36</version> 13 <scope>provided</scope> 14 </dependency>
4、修改启动类
我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:
/** * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法 */ public class SpringBootStartApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意这里要指向原先用main方法执行的Demo1Application启动类 return builder.sources(Demo1Application.class); } }
5、使用idea工具或者命令生成war包
mvn clean package -Dmaven.test.skip=true
直接把war放到tomcat中即可使用