欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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的文件。
SpringBoot项目如何打包部署

运行

进入到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的主启动类放在一起。

SpringBoot项目如何打包部署

打包

SpringBoot项目如何打包部署

部署到Tomcat

SpringBoot项目如何打包部署

Tomcat版本问题

 因为spring boot内置的tomcat是8.5的版本,所以你所使用的tomcat也需要是8.5的版本,如果用的是7.0的版本启动后会报错。 
相关标签: SpringCloud java