maven-assembly-plugin支持自定义打包结构,也可以定制依赖项等。
项目中往往有很多shell脚本、SQL脚本、.properties及.xml配置项等,采用maven-assembly-plugin插件可以让输出的结构清晰而标准化。
1. 引入插件
要使用插件,需要在pom
文件中引入以下内容。
配置的描述符文件package.xml
中指定了打包方式。
使用该插件,在IDEA中打包时会自动生成jar包。
1 | <plugin> |
2. 描述符文件
1 |
|
- formats:assembly插件支持的打包文件格式,有zip、tar、tar.gz、tar.bz2、jar、war。可以同时定义多个format。
- id:添加到打包文件名的标识符,用来做后缀。但是在pom文件中配置了
<appendAssemblyId>false</appendAssemblyId>
,所以在最后的打包文件中,<id>
中的内容不显示。 - fileSets/fileSet:用来设置一组文件在打包时的属性。
- directory:源目录的路径。
- includes/excludes:设定包含或排除哪些文件,支持通配符。
- fileMode:指定该目录下的文件属性,采用Unix八进制描述法,默认值是0644
- outputDirectory:生成目录的路径。
- dependencySets/dependencySet:用来设置工程依赖文件在打包时的属性。也与fileSets大致相同,不过还有两个特殊的配置:
- unpack:布尔值,false表示将依赖以原来的JAR形式打包,true则表示将依赖解成*.class文件的目录结构打包。
- scope:表示符合哪个作用范围的依赖会被打包进去。compile与provided都不用管,一般是写runtime。
3. 使用
使用IDEA进行打包。将打包之后的文件上传到服务器,解压即可。