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 и сделать это для каждого проекта отдельно.

НТН!

Другие вопросы по тегам