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>

 

posted @ 2022-02-09 17:10  鼠标的博客  阅读(617)  评论(0编辑  收藏  举报