美文网首页
maven打包tar.gz包第一篇

maven打包tar.gz包第一篇

作者: 凡尔Issac | 来源:发表于2018-06-11 11:07 被阅读76次
    自写简书来,maven打包依赖到lib目录下是访问量最多的一篇,故打算比较系统的来讲讲maven将项目打包成一个tar.gz包的方式,最终所有的子项目只需要在pom.xml中,导入<parent>模块,并选中对应的打包方式与运行环境,执行maven package即可。 image.png

    在介绍clife-data-parent项目前,先来讲讲打包方式与运行环境的区别:


    一、打包方式


    1.build-app与build-spark

      由于这两种打包方式都是打包成一个tar.gz包,存在很大的相似性,所以放在一起讲。这里以build-app为例,首先来瞧瞧打包后的包结构: image.png
     1).bin目录

      用来存放当前项目的启动脚本,如图:


    image.png

    2).conf目录,存放当前项目的配置文件
     3).lib目录:存放项目依赖以及当前项目代码,如下图:


    image.png
      build-spark与build-app生成的包,主要区别在bin下的脚本内容不一样,以及主项目jar,与bin同一级目录,不能存在与lib目录内,如下图: image.png
    2.build-jar
      这种打包方式就是将当前项目打包成一个单独的jar文件,不包含依赖,以供其他项目导入。如果进行maven install到共同的maven仓库,其他开发人员只需要配置对应的maven仓库即可引入这个jar,这种模式对于工具包和服务依赖上存在很好的解耦性。
    3.build-web

      这是将项目打包成一个war包,在java web开发很常用。


    二、运行环境


    对于运行环境,这里很好理解,一般正常的项目发布环境流程包含了:开发->测试->预发布->正式,不同的环境具体的配置项会存在差异,这里通过resource-xxx来进行环境的区分,默认打包resource,勾选不同额环境,在打包后cong目录下就会打包不同环境下的配置文件。当然,这种配置管理的方式并不是最优的,这里推荐使用百度的disconf,具体如何使用参照百度disconf接口文档

    image.png

    这种项目打包方式,1.可以有效的减少项目发布时的人工操作;2.可以解耦多项目间的耦合性;3.对于协同开发有着很好的作用。下一次来具体讲讲parent模块。

    相关文章

      网友评论

          本文标题:maven打包tar.gz包第一篇

          本文链接:https://www.haomeiwen.com/subject/yelasftx.html