zoukankan      html  css  js  c++  java
  • springboot打Jar包和War包

    一:打JAR包

    在工程的pom.xml中添加以下依赖

    <build>

      <plugins>

         <plugin>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-maven-plugin</artifactId>

         </plugin>

       </plugins>

    </build>

    我们目前的工程采用的是jar 的打包方式,所以我们在执行package 命令后,会产生一个jar 包。

    我们进入到这个目录用压缩软件打开此jar 包,其中我们发现了一个叫lib 的文件夹,打开lib 文件夹发现此文件夹下全是工程依赖的jar 包,甚至还有tomcat。这种包含有jar 包的jar包,我们称之为fatJAR( jar )

    由于fatJAR 本身就包括tomcat , 我们就不需要另外部署了,直接在命令行就可以把我们的应用启动起来,在命令行,进入到jar 包所在的目录,我们可以通过以下java –jar命令来执行此jar 包。在控制台会出现启动信息,在浏览器访问程序

    二:打WAR包

    spring-boot 默认提供内嵌的tomcat,所以打包直接生成jar 包,用java  -jar 命令就可以启动。但是,有时候我们更希望一个tomcat 来管理多个项目,这种情况下就需要项目是war 格式的包而不是jar 格式的包。

    我们按照以下步骤完成对工程的改造

    1)修改pom.xml

    将打包方式修改为war

    <packaging>war</packaging>

    添加依赖

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-tomcat</artifactId>

        <scope>provided</scope>

    </dependency>

    spring-boot-starter-tomcat 是原来被传递过来的依赖,默认会打到包里,所以我们再次引入此依赖,并指定依赖范围为provided,这样tomcat 相关的jar就不会打包到war 里了.

    2)添加ServletInitializer

    import org.springframework.boot.builder.SpringApplicationBuilder;

    import org.springframework.boot.context.web.SpringBootServletInitializer;

    public class ServletInitializer extends SpringBootServletInitializer {

         @Override

          protected SpringApplicationBuilder configure(SpringApplicationBuilderapplication) {

                  return application.sources(Application.class);

          }

    }

    由于我们采用web3.0 规范,是没有web.xml 的,而此类的作用与web.xml相同。

    3)运行package 打包命令生成war

    生成后将war 包放入tomcat,启动tomcat,测试完成的功能是否可以使用。

  • 相关阅读:
    [51nod] 1088 最长回文子串 #Hash+二分
    [51nod] 1378 夹克老爷的愤怒 #树形DP
    [BZOJ] 2456: mode #众数计数法
    [51nod] 1199 Money out of Thin Air #线段树+DFS序
    [51nod] 1494 选举拉票 #算法设计策略
    [51nod] 1463 找朋友 #离线+扫描线
    [BZOJ] 2733: [HNOI2012]永无乡 #线段树合并+并查集
    [BZOJ] 1012: [JSOI2008]最大数maxnumber
    [Codeforces] E. Lomsat gelral #DSU on Tree
    [BZOJ] 4756: [Usaco2017 Jan]Promotion Counting #线段树合并+权值线段树
  • 原文地址:https://www.cnblogs.com/zlw-xf/p/7828359.html
Copyright © 2011-2022 走看看