使用Assembly Plugin实现自定义打包
1.修改pom.xml
<!-- 编译时自动打包,规则见distribution.xml文件--><build><plugins><!-- 编译时自动打包,规则见distribution.xml文件--><plugin><artifactId>maven-assembly-plugin</artifactId><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions><configuration><appendAssemblyId>false</appendAssemblyId><descriptors> <!--描述文件路径 --><descriptor>src/assembly/distribution.xml</descriptor></descriptors></configuration></plugin></plugins></build>
appendAssemblyId属性控制是否在生成的打包文件的文件名中包含assembly id
descriptor属性指定maven-assembly-plugin的配置文件,我设置的是src/assembly/distribution.xml 容许使用多个,功能强大当然用法也复杂,对于简单情况一个足矣。
execution的设置是为了将maven-assembly-plugin继承到标准的maven打包过程中,这样在运行maven-package时就会执行maven-assembly-plugin的操作,从而实现我们需要的自定义打包。
2.编辑distribution.xml
<assembly><id>bin</id><formats><format>tar.gz</format></formats><includeBaseDirectory>true</includeBaseDirectory><fileSets><fileSet><directory>bin</directory><outputDirectory>bin</outputDirectory><fileMode>0755</fileMode></fileSet><fileSet><directory>conf</directory><outputDirectory>conf</outputDirectory><fileMode>0644</fileMode></fileSet></fileSets><dependencySets><dependencySet><outputDirectory>lib</outputDirectory></dependencySet></dependencySets></assembly>
简单语法介绍
1) format format=zip设置打包的最终文件格式为zip. 支持的其他格式还有gz,tar,tar.gz,tar.bz2
2) fileset
<fileSet><directory>bin</directory><outputDirectory>bin</outputDirectory><fileMode>0755</fileMode></fileSet>
将bin目录下的文件打包到根目录(bin)下.<fileMode>0755</fileMode>指明bin目录下所有文件的权限为755
3) dependencySets
<dependencySet><outputDirectory>lib</outputDirectory><scope>test</scope></dependencySet>
将scope为test的依赖包打包到lib目录下
详细语法介绍:Assembly Descriptor Format reference