assembly文件的典型配置示例
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> <!-- 详解参考:http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html --> <id>${project.build.finalName}</id> <formats> <format>zip</format> </formats> <!-- 是否包含根文件夹,这个会影响解压后的文件目录结构,默认true,此时解压后是/loghub/loghub,可以设置baseDirectory标签命名成其他的--> <includeBaseDirectory>false</includeBaseDirectory> <fileSets> <fileSet> <!-- 就是classes目录 --> <directory>${project.build.outputDirectory}</directory> <!-- include太多,用exclude将以下几个已经在jar里面的排除 --> <excludes> <exclude>/com/**</exclude> <exclude>/mappers/**</exclude> <exclude>/redis/**</exclude> <exclude>/org/**</exclude> <exclude>.gitinfo</exclude> </excludes> <!-- 相对target目录的输出目录--> <outputDirectory>./bin/loghub/</outputDirectory> <directoryMode>0755</directoryMode> <fileMode>0755</fileMode> </fileSet> <fileSet> <directory>${project.build.scriptSourceDirectory}</directory> <outputDirectory>./bin/loghub/bin</outputDirectory> <!--目录权限:用户具有读/写/执行权限--> <directoryMode>0755</directoryMode> <!--文件权限:用户具有读/写/执行权限--> <fileMode>0755</fileMode> <!--脚本文件的编码问题在这里,要改为unix.如果是在windows上面编码,会出现dos编写问题--> <lineEnding>unix</lineEnding> </fileSet> <fileSet> <!-- Create empty directory --> <outputDirectory>./bin/loghub/data/picture</outputDirectory> <excludes> <exclude>**/*</exclude> </excludes> <directoryMode>0755</directoryMode> </fileSet> <fileSet> <!-- Create empty directory --> <outputDirectory>./bin/loghub/data/tar</outputDirectory> <excludes> <exclude>**/*</exclude> </excludes> <directoryMode>0755</directoryMode> </fileSet> <fileSet> <!-- Create empty directory --> <outputDirectory>./bin/loghub/data/debugFile</outputDirectory> <excludes> <exclude>**/*</exclude> </excludes> <directoryMode>0755</directoryMode> </fileSet> </fileSets> <dependencySets> <dependencySet> <!-- 相对路径--> <outputDirectory>./bin/loghub/lib</outputDirectory> <useProjectArtifact>false</useProjectArtifact> <!-- 这个是为了解决lib下同一个jar包可能有多个SNAPSHOT快照版的问题,比如后面加了不同的时间戳--> <outputFileNameMapping>${artifact.artifactId}-${artifact.baseVersion}.${artifact.extension} </outputFileNameMapping> <unpack>false</unpack> </dependencySet> </dependencySets> </assembly>