SpringBoot针对web项目打war包

第一步:需在pom.xml指定打成的包为:
<packaging>war</packaging>
第二步:通过<scope>标签在打包的时候排除tomcat依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
第三步: 添加SpringBoot自带的打包方式
示例如下:
<build>
<finalName>springboot-package</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin </artifactId>
<configuration>
<fork>true</fork>
<mainClass>com.pancm.App</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
注:<finalName>标签是指定打包之后的名称,<mainClass>是指定main函数。
第四步:将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
注:server 配置属性将被tomcat中数据翻盖,如果配置端口和服务上下文需要则会失效
注:spring-boot更加强大的一点就是:即便项目是以上配置,依然可以用内嵌的tomcat来调试,启动命令和以前没变,还是:mvn spring-boot:run

posted @ 2021-03-11 14:50  金仙儿追鹿仙  阅读(169)  评论(0编辑  收藏  举报