28

Вопрос по gradle – undefined

Я добавляю задачу для развертывания файлов войны в Tomcat. Единственное, что нужно сделать задаче, - это скопировать файл войны в папку TOMCAT.

Есть два способа, которыми я могу подумать о реализации этого ... но, будучи новичком в обучении, я не совсем уверен, что более условно / правильно (или если это вообще имеет значение).

task myCopy(type: Copy)

    myCopy.configure {
       from('source')
       into('target')
       include('*.war')
    }

или же

task myCopy{
  doLast{
     copy {
       from 'source'
       into 'target'
       include '*.war'
     }   
  }

}
  • По какой-то причине эта задача не выполняется по умолчанию.

    от
  • Лучший стиль (задача должна выполнять одну задачу и должна быть в ней явной), лучшая конфигурируемость (например, из родительского сценария сборки и / или с использованием правила конфигурации).

    от
  • Спасибо ... Я понимаю преимущества автоматической современной проверки, каковы другие преимущества?

    от vicsz
  • 37

    В большинстве случаев (включая этот)

    Copy Задача - лучший выбор. Помимо всего прочего, он даст вам автоматическую актуальную проверку.copy Этот метод предназначен для ситуаций, когда (по какой-то причине) вам приходится использовать существующую задачу и нельзя использовать отдельную задачу для копирования.

    Код для вашегоCopy Задача может быть упрощена до:

    task myCopy(type: Copy) {
        from('source')
        into('target')
        include('*.war')
    }