Spring Boot打包war jar 部署tomcat

概述

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

2.Spring Boot打包Jar,通过Java -jar直接运行.

3.提供完整pom.xml测试项目 至github

解决问题

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.1 中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.1.1 中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打包war jar 部署tomcat,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Spring boot实现应用打包部署的示例

    1.Spring Boot内置web Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动.其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat).当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat.weblogic等等),当然在此之前你要对程序入口做简单调整. 对server的几个常用的配置做个简单说明: # 项目contextPath,一般在正式发布版本中,我们不配置 server.context-

  • springboot 打包部署 共享依赖包(分布式开发集中式部署微服务)

    1.此文初衷 平常我们在进行微服务开发完毕后,单个微服务理应部署单个虚机上(docker也可),然后服务集中发布到服务注册中心上,但是有些小的项目,这样做未免太过繁杂增加了部署难度,这里主要讲述的是如何在单机上通过共享jar包的方式来部署多个微服务,解决以上部署难度同时在带宽不够或者网速慢的情况下如何快速的发布部署. 2.部署目录结构   部署目录解答-> 各个微服务与依赖包(lib文件夹下)在同一级目录下,此为图1内容.图二内容展示的是单个微服务内的文件结构,部署配置文件以及所打的jar包,这

  • Spring Boot打包war jar 部署tomcat

    概述 1.Spring Boot聚合工程打包war部署Tomcat 2.Spring Boot打包Jar,通过Java -jar直接运行. 3.提供完整pom.xml测试项目 至github 解决问题 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: E

  • Spring Boot 打包与热部署的操作方法

    热部署 Spring Boot提供了DevTool.直接在pom.xml文件中添加配置. 1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency> 2.在maven插件依赖中新增 <build> <plugins> <

  • Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案

    即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~ 将打好的war包拷贝到Tomcat的webapps目录,然后在Tomcat的bin目录找到startup.bat批处理文件,直接双击执行,结果运行几秒后直接闪退,顿时有种不好的预感,在浏览器访问web项目,结果连localhost:8080都无法访问,web项目未发布成功,一脸懵逼~ 没有日志看不到为啥发布不成功额,想了想,可以稍微修改

  • Spring Boot 直接用jar运行项目的方法

    概述 在 Spring Boot 开篇-创建和运行 一文中,介绍了如何创建一个Sprint Boot项目并且运行起来.但是运行的方式是在IDEA中直接Run起来的.还有另一中方式可以可以把Spring Boot程序运行起来,就是直接在命令行中执行jar包. 打成jar包 以往的WEB程序需要打成WAR包,部署到Tomcat上,而Spring Boot支持打包成JAR的形式,就算是JAR里面包含图片.页面等,也是支持的.另外使用JAR包的方式也方便部署到Docker上. 要想把Spring Boo

  • spring boot打包成war包的页面如何存放

    背景 经常有朋友问我,平时都是使用spring mvc,打包成war包发布到tomcat上,如何快速到切换到spring boot的war或者jar包上? 先来看看传统的war包样式是什么样子的? 1. 传统的spring MVC格式的war包 可以看到,webapp/resouces文件存放css/js/html等静态文件,WEB-INF存放jsp动态文件. 对应的配置文件 @EnableWebMvc //mvc:annotation-driven @Configuration @Compon

  • Spring Boot打包部署和环境配置详解

    执行命令 yum -y list java* 查看可安装java版本. Failed to set locale, defaulting to C Loaded plugins: fastestmirror base | 3.6 kB 00:00:00 extras | 3.4 kB 00:00:00 updates | 3.4 kB 00:00:00 (1/4): base/7/x86_64/group_gz | 166 kB 00:00:00 (2/4): extras/7/x86_64/p

  • 详解Spring Boot 打包分离依赖JAR 和配置文件

    1:自定义路径 <properties> <!--自定义路径--> <directory>d:/im/</directory> </properties> 2:把配置文件打包出来 <build> <plugins> <!--上线部署 JAR启动分离依赖lib和配置--> <!--打包jar--> <plugin> <groupId>org.apache.maven.plugi

  • spring boot 打包jar jar没有主目录清单问题的完美解决方法

    1.在POM.xml文件下添加如下代码:注意:version.configuration.executions三个标签是我后来查找添加的,网上解决方案要么没有这三个要么不一样,我试了都不行,而且我在我电脑试了这三个标签必须有: 2.如果没有version标签会在生成时会报错. 3.如果没有configuration.executions两个标签生成的jar会报jar没有主目录清单错误: 哀  折腾一天,没办法谁让自己是小白那.还有一个主意的:packaging标签页必须有: <packaging

  • Spring Boot打war包的实例教程

    Spring Boot除了可以打可执行jar包外,也支持传统的war包.本文介绍如何使用Spring Boot构建传统war包. Spring Boot打war包步骤如下: 1.在pom.xml里定义打包类型 <packaging>war</packaging> 2.添加Spring Boot启动器(也可通过parent) <dependencyManagement> <dependencies> <dependency> <!-- Imp

  • 猜你不知道Spring Boot的几种部署方式(小结)

    引言 本文主要讲的是spring boot的五种部署方式,里面是否有你不知道的呢,如果有欢迎评论留言哦,一起交流探讨哦!!! 可以使用各种方法将Spring Boot应用程序部署到生产系统中.在本文中,我们将通过以下5种方法逐步部署Spring Boot应用程序: 在Java Archive(JAR)中作为独立应用程序进行部署, 将Web应用程序存档(WAR)部署到servlet容器中, 在Docker Container中部署, 在NGINX Web服务器后面部署 - 直接设置, 部署在NGI

随机推荐