Скопируйте в каталог за пределами каталога проекта, используя Gradle 4.0.2 - PullRequest
0 голосов
/ 02 июня 2018

У меня есть сборка Gradle, которая генерирует файл войны.Я хочу скопировать файл war в каталог dropins моего сервера приложений, который находится где-то за пределами каталога проекта.У меня есть следующая задача копирования, чтобы сделать это.

task copyWarToDropins(type: Copy,dependsOn:[war]) {
    from './build/libs/bds-service-token-1.0-SNAPSHOT.war'
    into file('/apps/dropins') // want to copy to 'C:/apps/dropins' directory
    rename { fileName -> 'bds-service-token.war' }
} 

build.dependsOn copyWarToDropin

Он оценивает / apps / dropins относительный каталог проекта и действительно копирует туда.Я пробовал много способов, о которых могу думать, но не смог скопировать его в каталог C: / apps / dropins.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 02 июня 2018

Во-первых, обратите внимание, что использование into file(...) является избыточным, так как каждый вызов into(...) будет в любом случае оцениваться через Project.file(...).

Как вы можете прочитать в документации , file(...) обрабатывает строки следующим образом:

  • A CharSequence, включая String или GString.Интерпретируется относительно каталога проекта.Строка, начинающаяся с file:, обрабатывается как URL файла.

Таким образом, одним из способов решения вашей проблемы может быть использование абсолютного URL файла.

ОднакоЕсли вы продолжите читать документацию, вы увидите, что объекты Java File поддерживаются.Таким образом, вы можете просто создать такой объект:

into new File('C:/your/absolute/path')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...