如果要保留代码,可以尝试在运行/调试配置中更改工作目录(组合框中的第一个条目,可以访问要运行的内容),将其设置为模块根目录。但更喜欢其他建议的方法:
ClassLoader.getSystemResourceAsStream(youPath)
还是我的首选:
getClass.getResource(youPath)
要么
getClass.getResourceAsStream(youPath)
路径中的前导“ /”表示项目的工作目录,而没有“ /”表示当前类的相对目录。
我将最后一种解决方案用于测试:将测试数据资源放在与测试源相同的程序包级别,或放在子目录中,以避免程序包太乱。
这样,我可以进行简单的调用而无需复杂的路径,而不必处理工作目录:
project-root - module A - src - test - rootfile.txt - my-complicated-package-naming-root - mypackage - Test.java - testResource.xml
我可以这样获取文件:
final URL rootfile= Test.class.getResource("/rootfile.txt");final URL testResource= Test.class.getResource("testResource.xml");


