每当我对项目进行maven全新安装,然后从IntelliJ IDEA运行应用程序时,资源都会错误地从目标/测试类而不是目标/类加载。这只发生在第一次运行时,在我停止并重新启动应用程序后,每次都会从目标/类正确加载文件,直到我进行新的 maven 全新安装。
什么可能导致此行为?目标/测试类不是应该只在测试阶段使用吗?
编辑 1:添加从 pom 构建的资源片段
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/resources-filtered</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
今天为 IntelliJ 安装新的 2017 更新后,问题消失了,资源在首次运行时从正确的文件夹中加载。
将<testresources>
添加到 maven POM 的<build>
节点,如下所示:
<testResources>
<testResource>
<directory>${project.basedir}/src/test/java</directory>
</testResource>
</testResources>