一尘不染

为什么我无法在使用Maven的Junit测试中访问src / test / resources?

java

我在运行以下代码时遇到问题:

configService.setMainConfig("src/test/resources/MainConfig.xml");

从Junit @Before方法中。

这是Maven建立目标文件夹的方式吗?


阅读 434

收藏
2020-12-03

共1个答案

一尘不染

MainConfig.xml直接访问。该src/test/resources目录内容被放置在你的CLASSPATH的根。

更准确地说:的内容src/test/resources被复制到中target/test-classes,因此,如果您具有以下项目结构:

.
└── src
    └── test
        ├── java
        │   └── foo
        │       └── C.java
        └── resources
            ├── a.xml
            └── foo
                └── b.xml

它将得到以下测试CLASSPATH内容:

  • /foo/C.class
  • /a.xml
  • /foo/b.xml

要实际从Java源访问文件,请使用 getClass().getResource("/MainConfig.xml").getFile()

2020-12-03