MarkLogic - установка переменной PATH для задач Gradle
Версия MarkLogic - 9.0-6.2 Версия Gradle - 4.5.1
У нас есть пакетный сервер linux, на котором развернуты концентратор данных, mlcp, gradle.
Расположение папки datahub: /path1/data-hub. Здесь у меня есть компоненты концентратора данных (плагины, пользовательские настройки и т. Д., А также файлы 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 ответ
Если вы префикс вашего сценария оболочки с ./
, он будет смотреть только на текущий каталог. взывать gradlew
, /path1/data-hub/gradlew
или просто gradle
(поскольку вы также установили Gradle).
Примечание: вам не нужно устанавливать Gradle, если вы используете gradle-wrapper (gradlew). Gradle-wrapper загружает изолированную копию самого Gradle. Одним из преимуществ gradlew является то, что вы можете определить конкретную версию Gradle и сделать это для каждого проекта отдельно.
НТН!