Maven复制文件和文件夹插件不能处理linux [dot]“。*”隐藏文件

时间:2015-08-12 09:52:46

标签: linux maven maven-3 maven-plugin

我有一个maven代码

    <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
            <execution>
                <id>copy-resources-from-parent</id>
                <phase>initialize</phase>
                <goals>
                    <goal>copy-resources</goal>
                </goals>
                <configuration>
                    <outputDirectory>./target/aut-ws</outputDirectory>
                    <resources>
                        <resource>
                            <directory>/prj//workspace-Fm-aut-Testing/</directory>
                        </resource>
                    </resources>
                </configuration>
            </execution>
        </executions>
    </plugin>

这工作正常,但它不是复制。* linux文件是隐藏的。在普通的linux中,我们将使用参数-a。这里怎么用?

由于 杰文

2 个答案:

答案 0 :(得分:0)

要禁用此行为,请将addDefaultExcludes设置为false。

<plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <addDefaultExcludes>false</addDefaultExcludes>
    </configuration>
</plugin>
  

默认文件如.gitignore,.cvsignore等被排除在外   表示将不会被复制。如果您需要特定的它们   您可以通过将此设置为false来做到这一点。

文档:https://maven.apache.org/plugins/maven-resources-plugin/copy-resources-mojo.html#addDefaultExcludes

答案 1 :(得分:0)

在我的情况下,“。file”位于目标/ [解压后的文件夹]中,但在最终的.jar中丢失。 我添加了maven-antrun-plugin。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>unpack</id>
            <phase>package</phase>
            <configuration>
                <target>
                    <echo message="repackaging" />
                    <jar destfile="${project.build.directory}/${project.build.finalName}.jar" basedir="${project.build.directory}/${project.artifactId}" />
                </target>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>