天天看點

SpringBoot項目打成war包部署到Tomcat

修改pom.xml檔案

添加Tomcat依賴包

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>
		</dependency>
           

把pakaging有jar改成war

<!--<packaging>jar</packaging>-->
	<packaging>war</packaging>
           

重寫SpringBootServletInitializer的configure方法

與Application類在一個目錄下

public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}
           

也可以直接修改啟動類

@SpringBootApplication
public class Application extends SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }


    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
           

然後打包

SpringBoot項目打成war包部署到Tomcat

注:有時候測試方法法出錯、使用斷言抛出異常會導緻打成war包失敗

或者不想執行測試類

解決方法為修改pom.xml檔案

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<testFailureIgnore>true</testFailureIgnore>
				</configuration>
			</plugin>
		</plugins>
</build>
           

繼續閱讀