当前位置: 首页 > 知识库问答 >
问题:

Maven资源插件不会复制。元数据文件夹

蒯慈
2023-03-14

我正在尝试使用maven resources插件复制文件夹或以下结构:

  root
   |- .metadata
   |- Project
   \- .gitignore

项目目录和. gitignore文件被复制,但是。元数据目录由于某种原因被遗漏了。

如何复制根文件夹的所有内容?

以下是我尝试过的配置

  <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>

共有3个答案

鲁淇
2023-03-14

我的第一次修复尝试是修改resources元素。

<resources>
  <resource>
    <directory>H:\rcptt\workspaces\root</directory>
    <includes>
      <include>**/*</include>
      <include>**/.*</include>
    </includes>
  </resource>
</resources>

另外,如果您注释掉

编辑以显示在Windows 7和RedHat Linux上与Maven 3.2.2、Resources plugin 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>

潘雅珺
2023-03-14

如果这与maven assembly插件有关,那么我就遇到了这个问题,必须使用useDefaultExcludes属性(仅限插件的最新版本);默认情况下,它是true,需要将其设置为false,以包括以下目录:。元数据。不过,这似乎不适用于maven resources插件,或者它可能只是一个没有文档记录的属性。

申屠裕
2023-03-14

您正在寻找配置参数addDefaultExcludes。请参见留档页面。

因此,您的配置部分应该如下所示:

    <configuration>
      <outputDirectory>${project.build.directory}/aut-ws</outputDirectory>
      <addDefaultExcludes>false</addDefaultExcludes>
      ...
      <resources>
        <resource>
          <directory>H:\rcptt\workspaces\root</directory>
        </resource>
      </resources>
    </configuration>
 类似资料:
  • 我试图在构建时使用maven资源插件复制xml文件,但到目前为止没有成功。 Maven目标-干净安装 它需要任何特殊的maven目标来复制东西吗?请帮帮我。 插件版本 提到这个

  • 在我的项目中,我创建了以下目录结构 在我的pom.xml我做了以下记录 如果我复制src中的资源- 如何使联调也将资源中的文件复制到目标中?

  • 我正在使用maven-resource-plugin 2.6 vith maven 3.0.5(也尝试了3.0.4)。 我有不同的处决: 当我把下面的方块 在我的内部 我需要把它放进去 这是一个问题吗?因为当我启动构建时,我的pom.xml没有错误。

  • 我正在使用Maven Shade插件在打包阶段包含所有依赖项。这适用于类,但不包括依赖资源。 以下是依赖罐的布局: 以下是阴影插件配置:

  • 现在我正在编写一个maven依赖项a,并在项目B中使用这个依赖项。两者的文件结构都是: 依赖A: 项目B: 我想做的是当我运行mvn spring boot时:在项目B中运行,测试。A的src/main/resources/files中的txt将被复制到项目B的/WebContent中。 我尝试在依赖项A中编写以下代码: 但是当我执行mvn spring boot:run时,它说文件不存在。