[英]Error while running curl command through java
我正在嘗試通過java運行以下curl命令,這可以從命令行正常運行,但是當我使用java運行它時會引發錯誤
curl -XPOST -H'Content-type: application/json' "http://localhost:8084/druid/v2/?pretty" -d'{"queryType":"timeBoundary","dataSource":"wikipedia"}'
這是使用processbuilder的Java代碼:
ProcessBuilder pb1 = new ProcessBuilder(
"-XPOST",
"-H", "Content-Type:application/json",
"http://localhost:8084/druid/v2/?pretty",
"-d", "{\"queryType\":\"timeBoundary\",\"dataSource\":\"wikipedia\"}"
);
Process shell = pb1.start();
這是我得到的錯誤。
Exception in thread "main" java.io.IOException: Cannot run program "-XPOST": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at com.druid.DruidConnection.main(DruidConnection.java:69)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:187)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 1 more
您需要添加curl.exe作為第一個參數:
ProcessBuilder pb1 = new ProcessBuilder(
"curl.exe",
"-XPOST",
"-H", "Content-Type:application/json",
"http://localhost:8084/druid/v2/?pretty",
"-d", "{\"queryType\":\"timeBoundary\",\"dataSource\":\"wikipedia\"}"
);
另外,您還需要確保帶有curl.exe的文件夾在您的PATH中
PS。 當然,對於Windows,對於* NIX,只是“ curl”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.