Gradle 1.12 损坏图像文件

hyp*_*ube 6 gradle

我的gradle版本是:

------------------------------------------------------------
Gradle 1.12
------------------------------------------------------------

Build time:   2014-04-29 09:24:31 UTC
Build number: none
Revision:     a831fa866d46cbee94e61a09af15f9dd95987421

Groovy:       1.8.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
Ivy:          2.2.0
JVM:          1.6.0_38-ea (Sun Microsystems Inc. 20.13-b02)
OS:           Windows 7 6.1 amd64
Run Code Online (Sandbox Code Playgroud)

图像的应用程序文件夹路径是:

myApp\web-app\src\main\webapp\images
Run Code Online (Sandbox Code Playgroud)

gradle clean deploy通过在控制台中执行,以下文件夹将分解到我的 tomcat 部署文件夹中,其中包含图像文件:

\myApp\images
Run Code Online (Sandbox Code Playgroud)

部署的映像与我的项目文件具有相同的名称和完全相同的大小。唯一的问题是图像被损坏并且图像扭曲。有任何想法吗?

更新。以下代码似乎会导致文件损坏:

    eachFile {
        it.filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
                releaseVersion: project.version,
                releaseDate: buildDate
        ])
    }
Run Code Online (Sandbox Code Playgroud)

我想一个可能的解决方法是使用另一种方法来替换令牌。

更新2。正如一些人提到的,解决方案是仅将 ReplaceTokens 过滤器应用于某些文件,并跳过某些文件类型。以下代码有效:

    filesNotMatching("**/*.png") {
        it.filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
                releaseVersion: project.version,
                releaseDate: buildDate
        ])
    }
Run Code Online (Sandbox Code Playgroud)

hyp*_*ube 8

解决方案是:

    filesNotMatching("**/*.png") {
        it.filter(org.apache.tools.ant.filters.ReplaceTokens, tokens: [
                releaseVersion: project.version,
                releaseDate: buildDate
        ])
    }
Run Code Online (Sandbox Code Playgroud)