【问题标题】:Do I have to manually list all sub-directories within <resources> in Java POM我是否必须在 Java POM 中手动列出 <resources> 中的所有子目录
【发布时间】:2019-03-07 23:11:48
【问题描述】:

我的 Java 框架有一个标准的 Maven 测试资源结构,如下所示:

src   

   test r

     resources 

       folder1testdata

       folder2testdata

       folder3testdata

如果我只是将 src/test/resources 放在我的 POM 中,它不会找到我的任何测试数据。我必须列出每个资源文件夹,即使它们都是标准 Maven 资源目录的子目录。这是正确的还是我遗漏了什么?

谢谢 马特

    <testresources>
        <testresource>
            <directory>src/main/resources</directory>
        </testresource>
        <testresource>
          <directory>src/test/resources/folder1testdata</directory>
        </testresource>
        <testresource>
          <directory>src/test/resources/folder2testdata</directory>
        </testresource>
        <testresource>
          <directory>src/test/resources/folder3testdata</directory>
        </testresource>
    </testresources>

【问题讨论】:

  • 我认为您不应该将test 资源与生产资源混合使用。除此之外,包含最父文件夹就足够了
  • 抱歉更正了。但是如果我只使用资源父目录,它就找不到数据: src/test/resources
  • 问题是您如何尝试找到测试数据的目录? getResourcesAsStream('...')?

标签: java maven pom.xml


【解决方案1】:

您不必在pom.xml 中包含resources 或testresources 下的子文件夹。您应该使用子文件夹名称和资源名称来访问子文件夹下的资源。

例如,如果您在folder1testdata 中有test.properties,则在访问属性文件时应使用/folder1testdata/test.properties

【讨论】:

  • 感谢 Prasann - 是的,这是有道理的。
猜你喜欢
  • 2011-03-01
  • 1970-01-01
  • 2015-02-26
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-21
相关资源
最近更新 更多