SpringBoot - 打包(1) - war
程序员文章站
2022-05-24 19:58:15
...
记录下打包步骤:
1. 修改pom.xml
(1)打包方式jar修改为war
<!-- <packaging>jar</packaging> -->
<packaging>war</packaging>
(2)使用外置的tomcat相关jar
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
(3)maven插件
<finalName/>标签用于指定war包名称,默认命名规则:<groupId>-<artifactId>.war
<build>
<finalName>test</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
(4) 跳过测试
<properties>
...
<!-- maven方式跳过maven test, 等同$ mvn package -Dmaven.test.skip=true -->
<!-- <maven.test.skip>true</maven.test.skip> -->
<!-- surefire plugin方式跳过maven test,等同$ mvn package -DskipTests -->
<skipTests>true</skipTests>
</properties>
2. 新建类ServletInitializer
该类继承SpringBootServletInitializer,与启动类放置同一级;重写configure方法,因为需要类似于web.xml配置方式来启动Spring上下文。
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// SpringBoot启动类
return builder.sources(Application.class);
}
}
3. 修改启动类Application
@ServletComponentScan注解用于扫描Servlet、Filter等,否则不起作用
@ServletComponentScan("com.momo.springboot.config.servlet")
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4.打包
idea点击package,在项目/target目录下可以找到打包好的war包
推荐阅读
-
Maven项目打包成war包部署到Tomcat的方法
-
Springboot项目打war包docker包找不到resource下静态资源的解决方案
-
SpringBoot+Maven 多模块项目的构建、运行、打包实战
-
springboot打包部署到linux服务器的方法
-
浅谈maven的jar包和war包区别 以及打包方法
-
springboot 打包部署 共享依赖包(分布式开发集中式部署微服务)
-
SpringBoot+Maven 多模块项目的构建、运行、打包实战
-
Maven引入本地Jar包并打包进War包中的方法
-
Springboot打成war包并在tomcat中运行的部署方法
-
Springboot打成war包并在tomcat中运行的部署方法