Spring Boot打包war jar 部署tomcat

轉載聲明:請務必保留原文鏈接

原文連接:http://www.cnblogs.com/sunyl/p/7754116.html 

 

概述

1.Spring Boot聚合工程打包war部署Tomcat

2.Spring Boot打包Jar,通過Java -jar直接運行.

3.提供完整pom.xml測試項目 至github

4.項目目前了集成了 Spring Boot + Spring data jpa +Redis集羣+dubbo+freemarker 持續更新...

 

解決問題

1.xxxx中沒有主清單屬性

2.解決沒有web.xml而報錯

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project provider: Error assembling WAR: webxml attribute is required(or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]

 

版本

1.JDK 1.8

2.Spring Boot 1.5.8

3.apache-tomcat-8.5.23

 

一.

打包war部署tomcat

1.改寫App類 繼承SpringBootServletInitializer

2.重寫configure方法,返回builder.sources(YouApp.class);

3.添加pom.xml ,如下圖

4.修改<packaging>war</packaging>

5.package命令打包

6.可參考 github--> releases--> v0.2 中blog-main-service 它是一個可打包jar且通過java -jar運行的完整項目配置

地址:https://github.com/mmdsyl/BLOG-Microservice/releases

public class ManagerApplication extends SpringBootServletInitializer{

  //  for tomcat
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { 
       return builder.sources(ManagerApplication.class);
   }

    public static void main(String[] args) throws InterruptedException {
        SpringApplication application = new SpringApplication(ManagerApplication.class);
        //application.setBannerMode(Banner.Mode.OFF);
         application.run(args);
    }


}

  

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

   <!--用於解決沒有web.xml報錯-->

    <plugin>
            <artifactId>maven-war-plugin</artifactId>
             <version>3.0.0</version>
    </plugin>
     

 

二.

打包Jar執行運行

1.標準的Application,不要繼承SpringBootServletInitializer

2.修改pom,如圖

3.package命令打包

4.可參考 github--> releases--> v0.2 中blog-main-web ,它是一個可打包war可部署tomcat中的完整配置

地址:https://github.com/mmdsyl/BLOG-Microservice/releases

     <!--打包成jar-->
        <!--https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html-->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章