#gradle
#gradle
Вопрос:
У нас есть странная проблема, когда случайным образом и нечасто выполняется задача compileJava, которая удаляет папку META-INF и скомпилированные классы для запуска, но задача processResources сообщает об актуальности, хотя каталог META-INF явно не существует.
Это занимает у нас много времени, потому что возможно, что артефакты дойдут до производства без applicationContext.xml !
Для нас выполнение этой задачи обходится очень дешево, возможно ли заставить ее выполняться, несмотря ни на что?
Комментарии:
1. Gradle 1.0-milestone-5 и более поздние версии размещают файлы классов и ресурсы в разные каталоги (build/ classes и build / resources). Было бы хорошо знать, решает ли это вашу проблему, не используя обходной путь.
Ответ №1:
Возможно, есть какая-то ошибка, из-за которой не удается очистить кеш gradle. Одним из возможных решений было бы сначала заставить задачу очистить свой собственный вывод путем запуска cleanProcessResources
.
Если это не сработает, попробуйте переопределить upToDateWhen
предикат выходных данных вашей задачи следующим образом:
processResources.outputs.upToDateWhen{ false }
Однако я не знаю, является ли этот API постоянным.
Комментарии:
1. Я очень надеюсь, что это так. Это ПОТРЯСАЮЩЕ.