我在兄弟模块中遇到了一些测试问题。
我在资源/:sql / statements中的模块1中有以下文件夹 该文件夹中的所有文件都加载了以下代码:
URL url = this.getClass().getClassLoader().getResource("sql/statements");
assert url != null;
Collection<File> files = FileUtils.listFiles(new File(url.getPath()),
FileFilterUtils.suffixFileFilter("sql.xml"), TrueFileFilter.INSTANCE);
这很好用:
但由于某些原因,当我在兄弟模块的测试中引用此类时,当我从命令行运行clean install时,它无法找到xml文件。
我该如何解决这个问题?
编辑:当它失败时,它打印下面的url路径,看起来没问题(?):
网址:jar:file:/home/<user>/.m2/repository/<path>/1.0.0/<jar-name>1.0.0.jar!/sql/statements
答案 0 :(得分:0)
检查您的POM文件:您可能只是复制“sql / xml”模块构建中的资源。如果你想在兄弟模块中使用它,最好将它移到父POM。
答案 1 :(得分:0)
对于this maven doc,测试资源应存储在
中src/test/resources
但您可以将参数testResources
设置为与主资源相同的目录
<build>
<testResources>
<testResource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</testResource>
<testResources>
<resources> <!-- this is default setting -->
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>