问题说明
使用的是 gradle 导入项目,没想到发现编译之后测试的时候出错了,报的错误为
file cannot be opened because it does not exist
也就是文件找不到,到 build 目录一看,感情是 resources 目录下的配置文件都没用拷贝过来,只有一堆的 class package。
Google 一圈发现这是 IDEA 的 bug,不过官方 issue 里面不愿意承认是 bug:
https://youtrack.jetbrains.com/oauth?state=%2Fissue%2FIDEA-128273
官方提供的解决办法
给出的解决办法是在 gradle 的 IDEA 配置中增加一行:
idea {
module {
inheritOutputDirs = true
}
}
也就是说默认采用项目的编译输出路径
如果这种方式无法build就用stackoverflow 发现的解决办法 是在 gradle 中多配置个 Task:
task copyTestResources(type: Copy) {
from "${projectDir}/src/test/resources"
into "${buildDir}/classes/test"
}
processTestResources.dependsOn copyTestResources