我正在开发一个网络应用程序。
这是我的项目结构
ProductName
在我的测试中,我想调用src/
├── main
│ ├── java
│ ├── resources
│ └── webapp
└── test
├── java
└── resources
中使用java
中的文件的类中的方法。
所以我想知道如何在resources
和main
之间共享资源?
每次编辑文件时,我都不想将文件复制到test
。
我尝试了SymLink,但收到错误'无法复制到test-resources
,因为文件不存在。
这就是我访问资源的方式
test-classes
修改
所以,显然Maven默认在main和test之间共享资源,但事实并非如此。
构建时,我可以在class.getResourceAsStream("/data.yml");
下的main
查看我的资源,但target/classes
中没有任何内容。
答案 0 :(得分:4)
main
中显示test
中显示的文件。
因此,如果需要测试和main,您可以将资源放在主树上。
如果资源仅用于测试,则将它们放在测试子树上。
答案 1 :(得分:1)
使用Maven,默认情况下,src/main/resources
下的文件会与src/test/resources
共享。只需将它们放在那里,它们也可以从test
文件夹访问。