【问题标题】:Building multi-module gradle project in Travis CI在 Travis CI 中构建多模块 gradle 项目
【发布时间】:2017-09-16 04:06:50
【问题描述】:
我正在尝试在 Travis CI 中构建一个多模块 Gradle 项目并运行所有子项目的所有测试。默认情况下,从顶层 build.gradle 文件运行构建似乎会构建所有子模块并运行所有测试,但 Travis 认为这是失败的。理想情况下,我还想结合所有子项目的 Jacoco 测试覆盖率报告。
我正在尝试的项目是开源的,可以在这里看到:https://github.com/Tenkiv/Physikal
【问题讨论】:
标签:
gradle
continuous-integration
kotlin
travis-ci
multi-module
【解决方案1】:
为了了解您的问题,我克隆了存储库并尝试在我的本地机器 (ArchLinux) 上运行 gradle,就像 Travis 尝试的那样:
./gradlew build
我得到了完全相同的错误信息:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
这真的很奇怪,我以前从未见过。所以我问自己:gradle在哪里搜索那个类?对,在包装器的 jar 文件中。这似乎是空的:
$ ls -lh gradle/wrapper/
total 4.0K
-rw-r--r-- 1 msrd0 users 0 Sep 16 23:51 gradle-wrapper.jar
-rw-r--r-- 1 msrd0 users 230 Sep 16 23:51 gradle-wrapper.properties
TL;DR
无论发生什么,您下载的 gradle 包装器都是空的。你需要再次下载包装器,在 Linux 上你可以使用这个命令(假设你已经安装了 gradle):
gradle wrapper
如果您的本地 gradle 发行版较旧,并且您希望保留当前在您的存储库中使用的版本,请运行:
gradle wrapper --gradle-version=4.1