2017-02-15 65 views
1

我使用了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" 
    ] 
} 

回答

0

Ť他很可能是由于您的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

+0

感谢您的回答 – Pneumono