我正在尝试在GitLab CI上构建我的项目,但不幸的是,我一直在跑步者中得到这个错误:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
现在我知道我的环境有问题,但我无法解决问题。我在网上搜索,发现我需要更新我的.gitignore
文件,我在这里做的是:
### Java ###
*.class
### Android ###
*.apk
*.ap_
### Package files ###
*.war
*.ear
*.aar
### Gradle ###
.gradle
build
bin/
build/
build.xml
gen/
.gradle/
gradlew
gradlew.bat
gradle-wrapper.jar
gradle-wrapper.properties
### Android Studio ###
.idea
local.properties
.DS_Store
/captures
我还在我的gradle.build
中加入了以下几行:
task wrapper(type: Wrapper) {
gradleVersion = '2.0'
}
但是每次运行构建时我都会得到堆栈!这也是我的.gitlab-ci.yml
:
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip openjdk-7-jdk lib32stdc++6 lib32z1
- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.8-bin.zip
- unzip -q gradle.zip
- export ANDROID_HOME="/opt/android-sdk"
- chmod +x gradlew
dev:
script:
- ./gradlew assembleDebug
出现错误的行是:
- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.8-bin.zip
答案 0 :(得分:7)
根据您的gitignor
,CI永远不会获得gradle-wrapper.jar
库,因为它尚未提交,但它必须是,因为它用于运行包装器。
检查,是否提交gradle-wrapper.jar
,如果没有,则提交它。
答案 1 :(得分:2)
我试图运行时遇到了这个错误:
./gradlew releaseTarGz
Could not find or load main class org.gradle.wrapper.GradleWrapperMain
我的错误是我没有阅读或遵循指示:我必须首先运行这两个命令来初始化:
gradle
./gradlew jar
然后./gradlew releaseTarGz
可以按预期找到主类。
答案 2 :(得分:1)
@Stanislav你是部分正确的。我设法找出了问题,当然正如预期的那样,它正好在我面前。所以我们都知道GitLab CI上的跑步者都是空的"。意思是他们没有安装任何东西。这就是为什么我们有.gitlab-ci.yml
。现在回顾我的.gitlab-ci.yml
我告诉跑步者jdk7
& gradle
但我错过了Android SDK
,这就是错误出现的原因:
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
所以我的新.gitlab-ci.yml
看起来像这样,它应该按照它应该编译:
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip openjdk-7-jdk lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.tgz https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
- tar --extract --gzip --file=android-sdk.tgz
- echo y | android-sdk-linux/tools/android --silent update sdk -a -u -t 1,2,3,4,5,6,29,31,32,33,34,45,138,142,145,146,147,148,149,150,151
- wget --quiet --output-document=gradle.zip https://services.gradle.org/distributions/gradle-2.12-bin.zip
- unzip -q gradle.zip
- export ANDROID_HOME=$PWD/android-sdk-linux
build:
script:
- gradle-2.12/bin/gradle assembleDebug
artifacts:
paths:
- app/build/outputs/apk/app-release-unsigned.apk