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

<packaging>war</packaging>

<!-- 配置servlet,打war包時放開 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>

<!-- 移除嵌入式tomcat插件, 打war包時放開 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>

<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...

6. main選項卡, Goals中填寫 package, 勾選Skip Tests

7. JRE選項卡, 這里要選擇JDK 不能用JRE, 先Apply 再 Run

eclipse中jre默認沒有配置jdk的小伙伴可以這么選

8. targer中找到war包

二, war包在Tomcat中運行
1. 講war包放在Tomcat的webapps文件夾下

2. 修改conf文件夾下的server.xml文件


在<Host>中添加<Context>, 因為在Tomcat中運行時需要在路徑中加入項目名(每一個地址都要加), 所以直接把Tomcat的默認路徑改為本項目的路徑
筆者嘗試過其他的辦法, 但是都不太好用, 朋友們如果有更好的辦法歡迎留言, 謝謝!
<!-- 修改Tomcat默認訪問路徑 --> <Context path="" docBase="/項目名" reloadable="true" />
3. 啟動Tomcat

4. 訪問項目

