Spring Boot打包war jar 部署tomcat

2018/04/19 10:29
阅读数 25

 

概述

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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

 

 1 <!--打包成jar-->
 2         <!--https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-maven-plugin.html-->
 3         <plugin>
 4             <groupId>org.springframework.boot</groupId>
 5             <artifactId>spring-boot-maven-plugin</artifactId>
 6             <executions>
 7                 <execution>
 8                     <goals>
 9                         <goal>repackage</goal>
10                     </goals>
11                 </execution>
12             </executions>
13         </plugin>

 


 -END-

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部