MarkLogic - установка переменной PATH для задач Gradle - PullRequest
0 голосов
/ 14 февраля 2019

Версия MarkLogic - 9.0-6.2 Версия Gradle - 4.5.1

У нас есть пакетный сервер linux, на котором развернуты концентратор данных, mlcp, gradle.

Расположение папки datahub: / path1/ данных концентратора.Здесь у меня есть компоненты концентратора данных (плагины, пользовательские настройки и т. Д., А также файлы gradle, такие как gradlew, gradle.bat и т. Д.)

Расположение моих сценариев bash: / path1 / scripts / data-hub

Место распаковки gradle - /path2/gradle/gradle-4.5.1.Здесь находится каталог bin с файлами gradle и gradle.bat (в bin нет gradlew)

У меня есть переменная PATH, созданная в '/path2/gradle/gradle-4.5.1/bin'а также в / path1 / data-hub (где установлен концентратор данных и существует файл gradlew)

Когда я выполняю приведенный ниже код из сценария bash, размещенного в / path1 / data-hub, выполняется процесс гармонизациинормально.

./gradlew hubRunFlow -PentityName="test" -PflowName="test-harmonize- 
process" -PflowType="harmonize" -PenvironmentName=dev

Однако, когда я помещаю точно такой же сценарий в / data / scripts / data-hub, поток не запускается.

 ./gradlew: No such file or directory.

Я попытался запустить код, удалив ./ перед gradlew, но все еще получая ошибку «команда gradlew не найдена»

Любая помощь очень важна.

1 Ответ

0 голосов
/ 14 февраля 2019

Если вы префикс вашего сценария оболочки с ./, он будет смотреть только на текущий каталог.Вместо этого вызывайте gradlew, /path1/data-hub/gradlew или просто gradle (поскольку вы также установили Gradle).

Примечание: вам не нужно устанавливать Gradle, если вы используете gradle-wrapper (gradlew).Gradle-wrapper загружает изолированную копию самого Gradle.Одним из преимуществ gradlew является то, что вы можете определить конкретную версию Gradle и сделать это для каждого проекта отдельно.

HTH!

...