gpt4 book ai didi

java - 从 bat 文件或 Jupyter Notebook 运行 Java 实用程序

转载 作者:行者123 更新时间:2023-12-01 17:34:33 25 4
gpt4 key购买 nike

尝试编写一些来自 Domo 的下载实用程序的脚本。他们提供了一个包含 jar 文件形式的 CLI。我可以通过该实用程序很好地工作,但我正在尝试编写脚本以按计划运行。加载 jar 文件工作正常,但无法像从 CMD 交互运行它一样运行后续命令。

java -jar C:\domo\java\domoUtil.jar 
&&
connect -s yourdomain.domo.com -t mytokenhere
&&
query-data -i datasetid -sql "SELECT * FROM `hs_users_raw`" -xf test3.csv

帮助将不胜感激,java新手,所以不知道为什么我似乎无法让它工作..

最佳答案

看来您在这里试图解决的问题是通过 Domo CLI 运行一些脚本化的 Domo 命令。

方法是将要运行的命令放入脚本文件中,然后使用-script选项来运行它。

例如,将以下内容放入名为 /path/to/myscript.domo 的文件中。

connect -s yourdomain.domo.com -t mytokenhere
query-data -i datasetid -sql "SELECT * FROM `hs_users_raw`" -xf test3.csv

然后使用domoUtil.jar运行脚本,如下所示:

java -jar domoUtil.jar -script /path/to/myscript.domo

这在 documentation 中有解释。用于 CLI 工具。

<小时/>

您当前的方法不起作用的原因是 && 没有执行您想要的操作。事实上。

A && B && C

告诉 shell 执行以下操作:

  1. 运行 shell 命令 A
  2. 如果 A 返回零返回代码,则运行 shell 命令 B
  3. 如果 B 返回零返回代码,则运行 shell 命令 C

这对你不起作用,因为 connectquery-data 不是 shell 命令。相反,它们是 CLI 运行的命令。此外,您不希望在向 CLI 发出连接和查询数据命令之前等待 CLI 返回返回代码(即完成)。

Domo CLI(可能)期望从其标准输入读取命令。因此,以下可能可以作为替代方案(使用 Linux shell):

java -jar domoUtil.jar <<EOF
connect -s yourdomain.domo.com -t mytokenhere
query-data -i datasetid -sql "SELECT * FROM `hs_users_raw`" -xf test3.csv
EOF

可能有一个使用 Windows 批处理脚本语言的等效方法。

无论哪种方式,Domo 手册都推荐使用 -script 方法。

关于java - 从 bat 文件或 Jupyter Notebook 运行 Java 实用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61063079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com