gpt4 book ai didi

java - 使用 Intellij IDEA 时找不到文件

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:14 27 4
gpt4 key购买 nike

我在 src/main/app 文件夹下有一个名为 test-mule-flow.xml 的文件,我添加了一个单元测试:

MuleFlowTest extends FunctionalTestCase
@Override
public String getConfigResources() {
return "src/main/app/test-mule-flow.xml";
}

@Test
public void test......

实际上,当我在 Eclipse(Mule Studio)和 Maven 构建中执行这些测试时,这些测试正确执行,但不幸的是,这些测试在 Intellij IDEA 版本 12 中失败。

我想这是由 classloader 引起的,在 IDEA 中,源文件位于 target/classes 文件夹中,测试类位于 target/test-classes,可能是这个原因,但是我该如何配置呢?它以 maven 的方式更好,我不想在 idea 中手动进行一些移动配置。

谢谢。

最佳答案

看起来您正在使用相对文件路径来加载文件。因此,实际结果将取决于启动执行测试的 JVM 的目录(它是“当前”目录)。

这通常是个坏主意。如果文件应该与应用程序捆绑在一起,请将其存储在 src/main/resources 并使用类加载器加载它:

InputStream in = MuleFlowTest.class.getResourceAsStream("/test-mule-flow.xml"));

如果它是一个仅供您的测试使用的文件,请将其存储在 src/test/resources 中,并使用类加载器加载它(与上述相同)。

如果您确实需要将其作为文件加载,请确保当前目录始终是正确的目录,或者传递一个系统属性来告诉代码应该使用哪个基目录来创建绝对路径。

关于java - 使用 Intellij IDEA 时找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16643406/

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