在springboot項目搭建完成之后,通過Tomcat方式進行部署項目,需進行一下操作
一.DanyuWebApplication入口啟動類改造
添加繼承關系和Override重寫,具體如下:
package com.danyu.web;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* web容器中進行部署
*
* @author danyu
*/
@SpringBootApplication()
public class DanyuWebApplication extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(DanyuWebApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(DanyuWebApplication.class, args);
System.out.println("系統啟動成功");
}
}
二。resource目錄下添加transaction.xml文件

<!-- 解決讀不到配置文件的問題,將指定的文件打進war包 -->
<resources>
<resource>
<!-- 要打進war包的文件所在的目錄 -->
<directory>src/main/resorce</directory>
<includes>
<include>**.*</include>
<include>**/*.*</include>
<include>**/*/*.*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
三.修改子模塊(danyu-web)pom.xml文件
3.1.添加<packaging>war</packaging>,將打包方式改為war
3.2 spring-boot-starter-web忽略內嵌tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--忽略內嵌tomcat,打包部署到tomcat。注*本地運行的時候要把這一段忽略引入個注釋掉,要不然項目啟動不了 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
3.3 添加spring-boot-starter-tomcat
<!-- 這個依賴讓你能夠在程序入口類:xxxAppAplication中直接執行main方法啟動tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!-- 但是這里一定要設置為provided -->
<scope>provided</scope>
</dependency>
3.4 依賴其他子模塊的需注意,添加<type>jar</type>
<!-- 通用工具-->
<dependency>
<groupId>com.zbbz</groupId>
<artifactId>zbbzfw-common</artifactId>
<version>1.0.1</version>
<!-- 該模塊的packaging為war,所以下面兩項必須設置,否則打包會出出錯 -->
<type>jar</type>
<!-- <classifier>classes</classifier>-->
</dependency>
3.5 打包配置
<build>
<finalName>danyu</finalName>
<plugins>
<!-- war包插件 -->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!-- 把class打包jar作為附件 -->
<attachClasses>true</attachClasses>
</configuration>
</plugin>
<!-- 指定啟動入口 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.danyu.web.DanyuWebApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
整個pom.xml完整配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>danyu</artifactId>
<groupId>com.danyu</groupId>
<version>0.0.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>danyu-web</artifactId>
<description>控制模塊</description>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--忽略內嵌tomcat,打包部署到tomcat。注*本地運行的時候要把這一段忽略引入個注釋掉,要不然項目啟動不了 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 這個依賴讓你能夠在程序入口類:xxxAppAplication中直接執行main方法啟動tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!-- 但是這里一定要設置為provided -->
<scope>provided</scope>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.zbbz</groupId>
<artifactId>zbbzfw-common</artifactId>
<version>1.0.1</version>
<!-- 該模塊的packaging為war,所以下面兩項必須設置,否則打包會出出錯 -->
<type>jar</type>
<!-- <classifier>classes</classifier>-->
</dependency>
</dependencies>
<build>
<finalName>danyu</finalName>
<plugins>
<!-- war包插件 -->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<!-- 把class打包jar作為附件 -->
<attachClasses>true</attachClasses>
</configuration>
</plugin>
<!-- 指定啟動入口 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.danyu.web.DanyuWebApplication</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
