1、eclipse springboot打war包
1. 配置pom.xml文件

<packaging>war</packaging>

<!-- Spring boot springframework -->
<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>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.0.36</version>
<scope>provided</scope>
</dependency>

<resources>
<!-- 打包时将页面文件拷贝到META-INF目录下 -->
<resource>
<!-- 指定resources插件处理哪个目录下的资源文件 -->
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
2、修改springboot启动类, 添加@EnableScheduling注解, 继承SpringBootServletInitializer类, 新增configure方法
@EnableScheduling
public class DemoApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
/**
*新增此方法
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(DemoApplication .class);
}
}
3、修改项目Maven,右键项目properties

4、右键项目 Run As --> Maven clean

5. 右键项目 Run As --> Maven build... 或者 Run as -> Install

6、main选项卡, Goals中填写 package, 勾选Skip Tests

7、JRE选项卡, 这里要选择JDK 不能用JRE, 先Apply 再 Run

eclipse中jre默认没有配置jdk的小伙伴可以这么选

8.、targer中找到war包

把生成的War包改名字,改成项目名字即可


本文详细介绍如何在Eclipse中使用Maven配置Spring Boot项目,将其打包为WAR文件,并通过修改启动类支持外部Tomcat部署。包括配置pom.xml、调整资源路径、启用调度等步骤。
1760





