传统的Web应用进行打包部署时,通常会打成War包的形式,然后将War包部署到Tomcat等服务器中,而Springboot应用使用的是嵌入式Servlet容器,也就是说Springboot应用默认是以Jar包形式进行打包部署的。
Jar包方式打包部署:
1.添加Maven打包插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.使用IDEA开发工具进行打包,双击Maven当中的package
打包之前先关闭正在运行的Springboot项目,并且关了maven的运行检查,控制台显示BUILD SUCCESS说明打包成功,building jar是jar包的具体存放路径以及名称,打包完之后target文件夹中就会出现对应的文件
3.jar包方式部署:
在idea当中打开终端,运行项目对应的jar包名
java -jar target\Springbootstudentsystem-0.01-SNAPSHOT.jar
出现对应的端口号等信息代表着部署成功
War包方式打包部署:
虽然通过Springboot内嵌的Tomcat可以直接将项目打成Jar包进行部署,但有时候还需要通过外部的可配置Tomcat进行项目管理,这就需要将项目打成War包。
War包方式打包:
1.声明打包方式为War包。打开pom文件,在头部使用标签将Springboot项目默认的Jar包打包方式修改为War形式:
<description>Demo project for Spring Boot</description>
<packaging>war</packaging>
<properties>
<java.version>1.8</java.version>
</properties>
2.声明使用外部Tomcat服务器。引入依赖就行
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3.提供Springboot启动的Servervlet初始化器。
@ServletComponentScan//开启基于注解方式的Servlet组件扫描支持
@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})
public class SpringbootstudentsystemApplication extends SpringBootServletInitializer {
//程序主类继承SpringBootServletInitializer并重写configure()方法
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(SpringbootstudentsystemApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringbootstudentsystemApplication.class, args);
}
}
4.双击package打包
部署war包:
将打包好的war包复制到Tomcat安装目录下的webapps目录中,执行Tomcat安装目录下bin目录中的startup.bat,运行项目之后Tomcat会自动解包