zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    在spring boot中三分钟上手apache顶级分布式链路追踪系统skywalking
    Spring Boot Admin 2.1.0
    Spring Boot Admin 详解(Spring Boot 2.0,基于 Eureka 的实现)
    Spring Cloud Sleuth + Zipkin 链路监控
    guava布隆过滤器
    红包算法
    java国际化之时区问题处理
    SpringCloud2.0 Hystrix Feign 基于Feign实现断路器
    SpringBoot 自定义线程池,多线程
    基于Redisson+SpringBoot的Redission分布式锁
  • 原文地址:https://www.cnblogs.com/sunyl/p/7754116.html
Copyright © 2011-2022 走看看