【问题标题】:maven assembly plugin excludes .gitignoremaven 程序集插件不包括 .gitignore
【发布时间】:2015-07-21 22:50:45
【问题描述】:

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>

【问题讨论】:

  • 可能是因为includeBaseDirectory设置为false..你试过设置为true吗?

标签: maven maven-assembly-plugin


【解决方案1】:

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

根据 maven 文档 - useDefaultExcludes -

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

.

【讨论】:

    【解决方案2】:

    三个建议:

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

    2- 正确设置 baseDirectory。例如

    <baseDirectory>../</baseDirectory>
    

    3- 或者,将 includeBaseDirectory 设置为 true

    <includeBaseDirectory>true</includeBaseDirectory>
    

    【讨论】:

    • 我尝试了所有这些,但没有奏效。它仍然会忽略 .gitignore 文件
    【解决方案3】:

    想一想,Linux 和 MacOS 不会在 Finder 中显示以点开头的文件。

    使用:Command + Shift + "." 显示隐藏文件。

    那我也会用:

    <files>
        <file>
            <source> 'absolute or relative path' </source>
        </file>
    </files>
    

    如果您认为这仍然不起作用并且它仍然忽略 .gitignore 试试这个解决方法:

    1. 将您的 .gitignore 文件重命名为 _gitignore_

    enter image description here

    如果 gitignore 现在在您的 zip 中作为“my-project.jar”而不是它的工作。 如果您将目标名称设置为 .gitignore 并且它只是没有显示 -> 它是隐藏的。

    使用:Command + Shift + "."

    【讨论】:

      猜你喜欢
      • 2021-08-08
      • 1970-01-01
      • 2011-12-11
      • 2014-11-04
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 1970-01-01
      • 2019-08-26
      相关资源
      最近更新 更多