使用maven可以对项目进行很方便的管理,方便体现之一便是项目的打包发布变得方便,本文主要是讲一下maven打包时的一些命令和注意事项(皆是自己从应用中总结的理解,或有不对之处)。

maven项目打包时除了项目源文件代码、shell脚本代码、配置文件等之外,一般还需要pom.xml文件和assembly.xml文件,其中pom.xml文件主要是配置引入maven项目需要的依赖包等,assembly.xml则主要是在打包时需要用到的配置。

 pom.xml:pom文件一般由以下几个部分构成

xml头和项目的id,版本号等

 

项目的依赖包

 

 plugin

 

 

前面两个很好理解,一般照着写就可以了,变化较多的是plugin,该部分可以指定打包时的描述文件:

 

 

也可以添加任务在打包时执行,比如将打包后的压缩文件重命名等:

 

 

最重要的一点是还可以(不知道是否必须)指定打包后的项目的入口类:

 

 

其中classpathPrefix配置的是依赖包的相对路径,比如依赖包和项目压缩包在同一目录下时,配置为./即可

assembly.xml一般由以下几个部分组成:

 assembly的头和ID以打包的后缀,其中id是必须的:

 

 baseDirectory配置的打包后的文件解压出的文件名

 

fileset配置项目中哪些目录或者文件需要被打包,以及打包后放在哪个目录下,这部分是最主要的配置,其中${project.basedir}代表当前项目的根目录。

 

dependencySets设置将maven项目中的依赖包全部打包放到指定目录下,如下图所示则放在DumpReader/lib目录下,该项也是必要的配置。

 

配置完成上面两个文件后,即可打开IntellJ右侧的maven project选项,然后点击cleanàvalidateàcompileàpackage即可完成打包,打包后的压缩文件在项目目录下的target文件夹下面: