首页 文章

maven程序集插件不包括.gitignore

提问于
浏览
4

Maven程序集插件在最终的zip包中排除了.gitignore文件 . 如何在最终输出zip中包含.gitignore?我试过包含** / *,但没有用 .

我的汇编文件:

<id>assembly</id>
<includeBaseDirectory>false</includeBaseDirectory>
<formats>
    <format>zip</format>
</formats>
<fileSets>
    <fileSet>
        <directory>${project.build.directory}/work</directory>
        <outputDirectory>/</outputDirectory>
        <excludes>
            <exclude>How*.html</exclude>
        </excludes>
    </fileSet>
</fileSets>`

程序集插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.5.5</version>
    <configuration>
        <descriptors>
            <descriptor>assembly/config.xml</descriptor>
        </descriptors>
    </configuration>
    <executions>
        <execution>
            <id>build-archive</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2 回答

  • 0

    经过一些研究,我发现.gitignore和其他源存储库控制文件(.svn)被排除在最终包中 . Maven默认执行此操作 . 我必须显式设置标志 - false以包含.gitignore文件 .

    根据maven文档 - useDefaultExcludes -

    在计算受此集合影响的文件时,是否应使用标准排除模式,例如匹配CVS和Subversion元数据文件的模式 . 为了向后兼容,默认值为true

    .

  • 3

    三点建议:

    1-在程序集文件中的fileSet旁边尝试 files 元素 . 它指定要包含在程序集中的单个文件 . 通过提供一个或多个 file 子元素来指定文件 .

    2-正确设置baseDirectory . 例如

    <baseDirectory>../</baseDirectory>
    

    3-或者,将includeBaseDirectory设置为true

    <includeBaseDirectory>true</includeBaseDirectory>
    

相关问题