如何在test和main之间共享资源?

时间:2015-12-29 17:35:52

标签: java maven java-8 maven-3

我正在开发一个网络应用程序。

这是我的项目结构

ProductName

在我的测试中,我想调用src/ ├── main │   ├── java │   ├── resources │   └── webapp └── test ├── java └── resources 中使用java中的文件的类中的方法。

所以我想知道如何在resourcesmain之间共享资源?

每次编辑文件时,我都不想将文件复制到test

我尝试了SymLink,但收到错误'无法复制到test-resources,因为文件不存在。

这就是我访问资源的方式

test-classes

修改

所以,显然Maven默认在main和test之间共享资源,但事实并非如此。

构建时,我可以在class.getResourceAsStream("/data.yml"); 下的main查看我的资源,但target/classes中没有任何内容。

2 个答案:

答案 0 :(得分:4)

main中显示test中显示的文件。

因此,如果需要测试和main,您可以将资源放在主树上。

如果资源仅用于测试,则将它们放在测试子树上。

答案 1 :(得分:1)

使用Maven,默认情况下,src/main/resources下的文件会与src/test/resources共享。只需将它们放在那里,它们也可以从test文件夹访问。