gpt4 book ai didi

java - 为什么 ServiceUtils.class.getResourceAsStream 在 JUnit 中会返回 null?

转载 作者:行者123 更新时间:2023-11-29 03:21:13 27 4
gpt4 key购买 nike

同样的语句在我的实际应用程序(网络服务)中工作得很好:

InputStream is = ServiceUtils.class.getResourceAsStream(
"file:/C:/Users/withheld/workspace/myproj/src/main/webapp/WEB-INF/classes/myproj.properties");

但是在 JUnit 测试模块中,它只是一直返回 null。

为什么?

起初,我认为这是一个类路径问题,所以我按照描述添加了一个路径 here .

但这并没有帮助。

因此,我使用 this other SO thread 中描述的方法强加了一个绝对路径。 .

但它仍然返回 null。

我做错了什么?

最佳答案

我假设您正在使用 maven(基于项目中的路径)。当加载 Web 应用程序时,WEB-INF 下的 classes 目录应该位于类路径中,因此请尝试以下操作:

InputStream is = ServiceUtils.class.getResourceAsStream("/myproj.properties");

请注意,这假设您在 src/main/resourcessrc/test/resources 目录中有 myproj.properties(它当 Maven 构建 war 或运行测试时,将自动复制到 WEB-INF/classes

关于java - 为什么 ServiceUtils.class.getResourceAsStream 在 JUnit 中会返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23551166/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com