SpringBoot项目如何打包部署
程序员文章站
2024-01-12 15:10:10
...
SpringBoot项目如何打包部署
SpringBoot项目部署有两种方式,打成*.jar或*.war包然后部署。打成 .jar 的最多,使用 java -jar xx.jar 就可以启动,而 .war 可以部署到tomcat的 webapps 中,随tomcat的启动而启动。
打成什么文件进行部署与项目业务有关,就像提供 rest 服务的项目需要打包成 jar文件,用命令运行很方便,而有大量css、js、html,且需要经常改动的项目,打成 war 包去运行比较方便,因为改动静态资源可以直接覆盖,很快看到改动后的效果,这是 jar 包不能比的。
打JAR包
修改项目类型
<artifactId>day64-sboot-01-mybatis-tx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
打包
然后利用Maven打包,打包成功后会在项目target目录生成一个*.jar的文件。
运行
进入到jar包所在的目录,运行如下命令
java -jar xxxx.jar
打WAR包
POM配置
<artifactId>day64-sboot-01-mybatis-tx</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加servlet支持-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!--添加Tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
修改主启动类配置
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Day64Sboot01MybatisTxApplication.class);
}
}
原理是该项目被打成war包后放入到webapps下面,tomat启动的时候就会调用这个方法,从而初始化项目。这个类要和SpringBoot的主启动类放在一起。
打包
部署到Tomcat
Tomcat版本问题
因为spring boot内置的tomcat是8.5的版本,所以你所使用的tomcat也需要是8.5的版本,如果用的是7.0的版本启动后会报错。
上一篇: python解析json方式
下一篇: PHP自动生成随绝密码