2017-09-01 91 views
0

運行搬運工構建命令我從Java中使用下面的代碼運行搬運工構建命令 -錯誤而從Java代碼

 Process p = new ProcessBuilder("docker","build","-f",Dockerfile,"--build-arg",some arguments,"-t","com.test:t-v16",".").start(); 

但UT給我的錯誤 - 泊塢構建需要確切1個參數。

當谷歌搜索,有人提到,應該有一個點(。)在命令結束。我已經添加並仍然面臨這個問題。 相同的命令在命令行上工作。

+0

因爲你的參數是'建造'而不是'碼頭'。您需要了解命令行參數如何工作。另外,不要使用'Runtime#exec' - [2017年是](https://docs.oracle.com/javase/8/docs/api/java/lang/ProcessBuilder.html)。 –

+0

你能告訴我們finfin命令已經執行了嗎? –

+0

docker -f C:/ test/Dockerfile --build-Arg Product_version = 4.3 -t com.test:v-16。 – Disha

回答

0

這是因爲您需要在「。」之前留出空格。在你的字符串數組中。 你現在可以試試看嗎?

String[] createBaseImage = {"docker","build","-f",Dockerfile,"--build-arg",some arguments,"-t","com.test:t-v16"," ."}: 
+0

已經嘗試過..不起作用 – Disha

+0

@Disha您可以嘗試沒有指定Dockerfile並從Dockerfile存在的目錄運行它。 – Nobita

+0

這不是如何處理執行的參數的'String []'。 –