MarkLogic-为Gradle任务设置PATH变量

时间:2019-02-14 05:15:56

标签: marklogic marklogic-9 marklogic-dhf

MarkLogic版本-9.0-6.2 Gradle版本-4.5.1

我们有一个Linux批处理服务器,其中部署了数据中心,mlcp,gradle。

datahub文件夹的位置是/ path1 / data-hub。这是我拥有数据中心组件(插件,用户配置等)以及gradlew文件(如gradlew,gradle.bat等)的地方

我的bash脚本的位置是/ path1 / scripts / data-hub

解包gradle的位置是/path2/gradle/gradle-4.5.1。这是具有gradle和gradle.bat文件的bin目录所在的位置(bin下不存在gradlew)

我在'/path2/gradle/gradle-4.5.1/bin'和/ path1 / data-hub(安装了数据中心并且存在gradlew文件的位置)上创建了PATH变量

当我从位于/ path1 / data-hub的bash脚本执行以下代码时,协调流运行良好。

./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 :(得分:1)

如果您的Shell脚本以./作为前缀,则它将仅查看当前目录。改为调用gradlew/path1/data-hub/gradlew或仅gradle(因为您也安装了Gradle)。

注意:如果使用gradle-wrapper(gradlew),则无需安装Gradle。 Gradle-wrapper下载Gradle本身的隔离副本。 gradlew的一个好处是您可以固定特定版本的Gradle,并分别针对每个项目。

HTH!