3

(上下文是部署为 WAR 的 Maven JavaEE 项目。)

我的应用程序类从目录中的包加载资源(使用 StringTemplate 3.2.1 库)src/main/resources。- 这就像一个魅力,因为应用程序类文件和资源最终都位于WEB-INF/classes. 内部new FileInputStream(path)StringTemplate 可以使用简单的相对路径找到资源。

当使用 JUnit 测试我的类时,这个简单的设置不起作用:单元测试从test-classes目录运行,然后相对路径指向错误的位置(通常由来自的资源填充src/test/resources)。

如何将 StringTemplate 传递给在两种环境中都可以使用的相对路径?

4

1 回答 1

0

如果我正确理解了文档,那么您使用绝对路径等而不是可以在类路径中找到的东西做错了。此外,应该使用 Class.getResourceAsStream("xyz.conf") 加载资源,无论它来自 src/main/resources 还是 src/test/resources 都无关紧要,因为类路径才是最重要的。可能是我误解了一些事情。

于 2012-10-24T17:39:55.337 回答