2014-10-20 2 views
2

Моего Gradle версия: путь к папкеGradle файлов 1.12 развращает изображения

------------------------------------------------------------ 
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 

Приложения к изображениям является:

myApp\web-app\src\main\webapp\images 

Выполнив gradle clean deploy в консоли следующая папку взрывают в мой кот развернуть папку, содержащую файлы изображений:

\myApp\images 

Развернутые изображения h ave одно и то же имя и точно такой же размер, как и файлы моего проекта. Единственная проблема заключается в том, что изображения повреждены и изображение искажено. Есть идеи?

Обновление. Следующий код, кажется, resonsible для коррупции файла:

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

Я полагаю, что можно исправить будет использовать другой способ заменить маркеры.

Update2. Решение, как утверждают некоторые люди, применить фильтр ReplaceTokens только к некоторым файлам и пропустить некоторые типы файлов. Следующий код работает:

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

Есть ли у Вас какие-либо SSCCE или исходный код где-то в Интернете? Вероятно, файлы копируются и обрабатываются (фильтруются) каким-то образом во время копирования. Вы используете фильтр? – Opal

+0

Я боюсь, что у меня нет исходного кода, который вы можете посмотреть на www. Однако какая фильтрация связана с моей проблемой? Приложение использует подпроекты и центральный файл build.gradle. Единственная фильтрация, которую я вижу, похожа на: war { archiveName = rootProject.name + ".war" eachFile { it.filter (org.apache.tools.ant.filters.ReplaceTokens, токены: [ releaseVersion: проект .version, releaseDate: buildDate ]) } } – hypercube

+0

Когда файлы копируются в военный файл, они могут быть отфильтрованы, а бинарный контент может быть испорчен в это время. – Opal

ответ

3

раствор:

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

Понимаете, вот о чем я говорил. – Opal

+0

Большое спасибо за ваши ответы. – hypercube

+0

Как это изменится, если вы не хотите разбирать файлы PNG или ICO? Как здесь работают несколько шаблонов? –

Смежные вопросы