【问题标题】:Gradle build failed on Travis CITravis CI 上的 Gradle 构建失败
【发布时间】:2017-02-15 17:58:02
【问题描述】:

我使用了filteringCharset = 'UTF-8',因为ProcessResourcesbuild.gradle 中的编码问题。此构建在我的桌面上成功,但在 Travis CI 上失败。我想这是 Travis CI 的 Gradle 的问题。所以我尝试更新版本但找不到任何信息。这是 Gradle 版本的问题吗?如果是,我该怎么办?

Travis 构建错误:

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

完整的 travis 构建日志:https://travis-ci.org/EntryPointKR/K-Security/builds/201771722

.travis.yml:

language: java
sudo: false
jdk:
  - oraclejdk8
addons:
  apt:
    packages:
      - oracle-java8-installer

build.gradle 中的问题代码

processResources {
    filteringCharset = 'UTF-8' // Here
    filter ReplaceTokens, tokens: [
            "version"   : project.version,
            "pluginName": rootProject.name,
            "mainClass" : "cloud.swiftnode.ksecurity.KSecurity",
            "author"    : "EntryPoint"
    ]
}

【问题讨论】:

    标签: java gradle travis-ci


    【解决方案1】:

    这很可能是由于您的 gradle 版本与安装在 java 映像中的 gradle 版本不匹配。 It was introduced in Gradle 2.14。最简单的解决方法是使用 gradle 包装器在两个环境中强制执行相同的版本。

    只需添加包装任务:

    task wrapper(type: Wrapper) {
        gradleVersion = '3.3'
    }
    

    应该可以在before_install 中运行gradle wrapper,或者简单地将gradle-wrapper jar 与您的项目捆绑在一起。 Travis CI will detect gradle wrapper 并使用 gradlew 而不是 gradle

    如果您在本地计算机上使用 Windows,make sure you commit the gradlew script with executable flag

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多