maven程序集插件不包括.gitignore

时间:2015-07-21 22:50:45

标签: maven maven-assembly-plugin

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>

3 个答案:

答案 0 :(得分:3)

After some research, I found that .gitignore and other source repository control files (.svn) are excluded in the final package. Maven does this by default. I had to explicitly set the flag - false to include .gitignore files.

As per maven documentation - useDefaultExcludes -

Whether standard exclusion patterns, such as those matching CVS and Subversion metadata files, should be used when calculating the files affected by this set. For backward compatibility, the default value is true

.

答案 1 :(得分:0)

三点建议:

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

2-正确设置baseDirectory。例如

<baseDirectory>../</baseDirectory>

3-或者,将includeBaseDirectory设置为true

<includeBaseDirectory>true</includeBaseDirectory>

答案 2 :(得分:0)

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

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

然后我也会使用:

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

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

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

enter image description here

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

使用:Command + Shift + "."