如何在测试和主体之间共享资源?

Rag*_*rma 4 java maven-3 maven java-8

我正在开发Web应用程序。

这是我的项目结构

src/
??? main
?   ??? java
?   ??? resources
?   ??? webapp
??? test
    ??? java
    ??? resources
Run Code Online (Sandbox Code Playgroud)

在测试中,我想java从中使用文件的类中调用方法resources

所以我想知道如何在main和之间共享我的资源test

我不想test-resources每次编辑文件时都将文件复制到其中。

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

这就是我在重要时访问资源的方式

class.getResourceAsStream("/data.yml");
Run Code Online (Sandbox Code Playgroud)

编辑


因此,默认情况下,显然Maven确实在main和test之间共享资源,但事实并非如此。

建立时,我可以从main下面看到我的资源,target/classes但是看不到target/test-classes

Dav*_*INO 6

中显示的文件在main中可见test

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

如果资源仅对于测试是必需的,则将它们放在测试子树上。


Oli*_*ire 3

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