Intellij IDEA - Spring boot 打包(jar & war)
Intellij IDEA - Spring boot 打包(jar & war)
本菜鸟最近在使用spring boot 开发项目,spring boot确认比本菜鸟前面用的框架轻
便很多,很适合自己开发dome或一些轻量级的项目;但是在部署打包的时候本菜鸟遇到
了问题,因为部署环境是tomcat,而不是直接运行jar包。
so 现在来讲一下spring boot打包的问题:
- jar包(这种是最简单的)
- war包
- 开发工具 Intellij IDEA
jar包
spring boot打成jar包很简单,只要确定packaging是jar,可以直接导出jar包:
那么在你项目文件夹中的target目录下可以直接找到导出的jar包,这个jar包是可以直接运行的
导出jar包的就讲这么多,主要还是导出war包-。-
war包
导出war包有两种情况
第一种情况. 在创建项目的时候没有注意选择packaging类型,选择了默认的Jar:
那么在打包的时候,需要处理三个地方:
第一步 修改pom.xml中的packaging类型为war:
<groupId>com.example.greenhand</groupId>
<artifactId>vuepractice</artifactId>
<version>0.0.1-SNAPSHOT</version>
**<packaging>war</packaging>**
<name>vuepractice</name>
第二步 在pom.xml中添加tomcat依赖:
加tomcat依赖有两种方法:
方法一:不用spring-boot内置的tomcat库(此方法不需要考虑tomcat的部署版本,建议使用此方法,并且如果大家注意的话,可以发现在建项目的时候选择的packaging是war类型的话,默认生成的也是此方法)
<!-- war打包使用,无需使用固定版本tomcat,本地启动主方法时注意需要注释此依赖包 -->
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
<!--<scope>provided</scope>-->
<!--</dependency>-->
方法二:用spring-boot内置的tomcat库, 并指定你要部署到Tomcat的版本
(当部署时如果版本不一致则启动不起来,所以不建议使用这个方法)
<properties>
<tomcat.version>7.0.69</tomcat.version>
</properties>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-juli</artifactId>
<version>${tomcat.version}</version>
</dependency>
第三步 需要继承SpringBootServletInitializer 重写启动方法:
下面是一个dome的目录结构,大家可以参考一下:
重写方法代码如下(**Application.class是项目中的主方法):
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(**Application.class);
}
}
之后导出包的方式和jar导包方式一样
导出的包同样是在target目录下面,此包可以直接部署在tomcat中运行。
第二种情况:大家在新建项目的时候已经确认需要打包成war包,那么新建的时候注意选择packaging的类型,那么不需要以上的所有处理步骤,可以直接导出war包。
上一篇: 浅谈CSS不规则边框的生成方案
推荐阅读
-
解决IntelliJ IDEA创建spring boot无法连接http://start.spring.io/问题
-
Spring Boot Maven 打包可执行Jar文件的实现方法
-
IntelliJ IDEA或maven打包含main的jar包方法步骤
-
解决spring boot + jar打包部署tomcat 404错误问题
-
spring boot 打包jar,jar没有主目录清单
-
如何在Intellij idea中使用Tomcat(spring boot)
-
如何在Intellij idea中使用Tomcat(spring boot)
-
关于spring-boot-maven-plugin插件打包外部依赖jar
-
关于spring-boot-maven-plugin插件打包外部依赖jar
-
IntelliJ Idea运行spring boot项目结合sitemesh的一个错误的排查