Java Idea和eclipse对同一段代码返回不同的结果

Java Idea和eclipse对同一段代码返回不同的结果,java,eclipse,intellij-idea,Java,Eclipse,Intellij Idea,在我的项目中,我将测试数据提取到junit测试需要使用的某个位置。当我从eclipse运行测试时,它们运行得很好,但当我从idea运行测试时,它们失败了,因为它们找不到数据 我正在提取项目根文件夹中的数据 我使用以下代码来定位磁盘上的数据 TestData.class.getProtectionDomain().getCodeSource().getLocation().getFile() 在eclipse中,它返回 F:\dev\shopping\testData 但在观念上它又回来了 F:

在我的项目中,我将测试数据提取到junit测试需要使用的某个位置。当我从eclipse运行测试时,它们运行得很好,但当我从idea运行测试时,它们失败了,因为它们找不到数据

我正在提取项目根文件夹中的数据

我使用以下代码来定位磁盘上的数据

TestData.class.getProtectionDomain().getCodeSource().getLocation().getFile()
在eclipse中,它返回

F:\dev\shopping\testData

但在观念上它又回来了

F:\dev\out\test\testData


有人能解释一下这种行为吗?

IntelliJ将所有二进制文件默认放在
out/
文件夹中(这也意味着该文件夹将是工作目录)

您可以通过转到“文件->项目结构”来更改整个项目或某些模块的文件夹

更多信息请点击此处:

您可以将此文件夹更改为与Eclipse中相同的文件夹,或者提供其他一些查找测试数据的方法


除此之外,您还可以更改运行配置的工作目录,以匹配Eclipse正在使用的目录。更多信息请参见此处:

IntelliJ管理不同的项目文件。默认情况下,
out
被配置为编译二进制文件的文件夹,
test
是测试类的源根目录,等等。