Travis CI上的Gradle编译失败
问题描述:
我使用了filteringCharset = 'UTF-8'
,因为ProcessResources
中的编码问题在build.gradle
中。这个构建在我的桌面上成功,但在Travis CI上失败。我想这是Travis CI的Gradle问题。所以我试图更新版本,但找不到任何信息。这是Gradle版本的问题吗?如果是,我该怎么办?Travis CI上的Gradle编译失败
特拉维斯建立自己的错误:
FAILURE: Build failed with an exception.
* Where:
Build file '/home/travis/build/EntryPointKR/K-Security/build.gradle' line: 43
* What went wrong:
A problem occurred evaluating root project 'K-Security'.
> No such property: filteringCharset for class: org.gradle.language.jvm.tasks.ProcessResources_Decorated
完全特拉维斯生成日志:https://travis-ci.org/EntryPointKR/K-Security/builds/201771722
.travis.yml:在的build.gradle
language: java
sudo: false
jdk:
- oraclejdk8
addons:
apt:
packages:
- oracle-java8-installer
问题代码
processResources {
filteringCharset = 'UTF-8' // Here
filter ReplaceTokens, tokens: [
"version" : project.version,
"pluginName": rootProject.name,
"mainClass" : "cloud.swiftnode.ksecurity.KSecurity",
"author" : "EntryPoint"
]
}
答
Ť他很可能是由于您的gradle版本与安装在java映像中的gradle版本不匹配造成的。 It was introduced in Gradle 2.14。最简单的解决方法是在两种环境中使用gradle wrapper来强制执行相同的版本。
只需添加包装任务:
task wrapper(type: Wrapper) {
gradleVersion = '3.3'
}
应该可以在before_install
运行gradle wrapper
,或简单地捆绑与您的项目gradle这个-包装罐子。 Travis CI will detect gradle wrapper并使用gradlew
而不是gradle
。
如果您在本地计算机上使用Windows,请拨打make sure you commit the gradlew
script with executable flag。
感谢您的回答 – Pneumono