(上下文是部署为WAR的Maven JavaEE项目。)
我的应用程序类从src/main/resources
目录中的包加载资源(使用StringTemplate 3.2.1库)。 - 这就像一个魅力,因为应用程序类文件和资源都在WEB-INF/classes
的子目录中。 StringTemplate内的new FileInputStream(path)
可以使用简单的相对路径查找资源。
使用JUnit测试我的类时,这个简单的设置不起作用:单元测试从test-classes
目录运行,然后相对路径指向错误的位置(通常由来自的资源填充) src/test/resources
)。
如何将StringTemplate传递给可在两种环境中工作的相对路径?
答案 0 :(得分:0)
如果我正确理解了文档,那么你使用绝对路径等而不是在类路径中找到的东西就做错了。此外,应该使用Class.getResourceAsStream(“xyz.conf”)加载资源,如果从src / main / resources或src / test / resources返回,则无关紧要,因为类路径是重要的。可能是我误解了事情。