我目前正在尝试将项目从Gradle 3.5迁移到最新的Gradle版本4.9。而且我遇到了这个问题,那就是Gradle找不到执行junit测试所需的资源。这些资源是预先生成的,并且包含一些配置文件和参考数据。
该项目使用npm和Gradle的组合进行编译。通常,我们运行一个npm脚本,该脚本使用run-s
按顺序执行几个任务,例如webpack构建以生成一些静态资源。最后,我们使用Gradle将所有内容编译在一起。最后的Gradle任务还执行junit测试。此步骤失败,并使整个构建失败。 Gradle赛跑者抱怨找不到一些资源,尽管将资源正确地复制到了正确的位置。
当我在最后一个Gradle构建步骤失败后立即执行./gradlew test --rerun-tasks
(是的,我们也使用了已经正确升级的包装器)时,它成功执行了junit测试。
我知道,Gradle 4.x中的目录结构已更改,但这似乎不是问题。
我的怀疑是,这与我们通常运行整个构建过程的方式有关。与npm
结合使用。