小编Mar*_*ina的帖子

Maven-覆盖测试资源文件夹

我在Maven和Eclipse中进行测试时遇到问题。

我从Eclipse运行测试套件,并且一切正常,但是当我运行时

mvn test
Run Code Online (Sandbox Code Playgroud)

我有一个例外,当我尝试在这样的测试案例中读取一些文件时,它会出现:

final File javaFolder = new File("WEB-INF/test/file");
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我有一个空指针异常并进行调试,我看到路径是

C:\Users\myUser\AppData\Local\Temp\WEB-INF\test\file
Run Code Online (Sandbox Code Playgroud)

另外,我认为重要的一点是我重写了pom中的测试目录,因为我们需要在特殊位置放置测试源。我们以这种方式做到了:

<testSourceDirectory>WEB-INF/test/java</testSourceDirectory>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:为什么用Maven运行测试没有得到正确的工作目录?我可以定义一个特定的文件夹来读取一些文件吗?我尝试过类似的事情

getClass().getResource("myFile").getFile() 
Run Code Online (Sandbox Code Playgroud)

但是当我打印绝对路径C:\Users\myUser\AppData\Local...\myFile

编辑:我没有机会遵守约定,因为我说的是一个从未使用过Maven的大型系统,因此无法更改所有目录结构。不幸的是,这不是我的愿望。

另外,当我打印“ user.dir”时,我有: C:\Users\myUser\AppData\Local\Temp

Edit2:我的项目路径在另一个分区中 E:\work\myProject

java eclipse maven

3
推荐指数
1
解决办法
4753
查看次数

标签 统计

eclipse ×1

java ×1

maven ×1