我尝试使用maven-resources-plugin复制文件夹或以下结构:
root
|- .metadata
|- Project
\- .gitignore
复制了项目目录和.gitignore文件,但由于某种原因,省略了.metadata目录。
如何复制根文件夹的所有内容?
这是我尝试的配置:
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/aut-ws</outputDirectory>
<useBuildFilters>false</useBuildFilters>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>metadata</nonFilteredFileExtension>
</nonFilteredFileExtensions>
<resources>
<resource>
<directory>H:\rcptt\workspaces\root</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:4)
您正在寻找配置参数addDefaultExcludes
。请参阅the documentation page。
因此,您的配置部分应如下所示:
<configuration>
<outputDirectory>${project.build.directory}/aut-ws</outputDirectory>
<addDefaultExcludes>false</addDefaultExcludes>
...
<resources>
<resource>
<directory>H:\rcptt\workspaces\root</directory>
</resource>
</resources>
</configuration>
答案 1 :(得分:3)
如果这与maven-assembly-plugin有关,那么我遇到了这个问题,并且必须使用useDefaultExcludes
属性(仅限插件的最新版本);默认情况下它是true
,需要将其设置为false
以包含.metadata等目录。这似乎并不适用于maven-resources-plugin,或者它可能不是一个记录的属性。
答案 2 :(得分:1)
我的第一次修复尝试是尝试修改资源元素。
<resources>
<resource>
<directory>H:\rcptt\workspaces\root</directory>
<includes>
<include>**/*</include>
<include>**/.*</include>
</includes>
</resource>
</resources>
另外,如果您注释掉<nonFilteredFileExtensions>
元素,它是否有效?
编辑以显示适用于Windows 7和RedHat Linux上的Maven 3.2.2,Resources插件2.7的完整插件配置。测试命令为mvn validate
。
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${project.build.directory}/testing123</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>**/*</include>
<include>**/.*</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
答案 3 :(得分:0)
只需按照@Matthew Wise所说的添加addDefaultExcludes
。
<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