2016-04-19 69 views
0

我自動使用Java和Mac OS X中的pkg文件的安裝做我有bash的控制檯命令:如何從Java運行時安裝.pkg?

echo 'Control123' | sudo -S installer -pkg /Users/george/Downloads/MyPackage.pkg -target/

我從Java運行時執行這個命令:

Runtime.getRuntime().exec("echo 'Control123' | sudo -S installer -pkg /Users/george/Downloads/MyPackage.pkg -target /"); 

但是如果在Bash控制檯中執行該命令,則未安裝該軟件包。它工作正常。

+0

您只能調用本機命令,而不是以這種方式運行shell內置函數和管道。 –

+0

有沒有另一種方法可以從Java安裝.pkg文件? –

回答

0

您不應該認爲用戶具有root權限,啓動安裝程序可能更好,因此用戶可以從那裏授權和更新應用程序。如果這是有道理的,那麼就可以啓動.pkg這樣,不需要須藤:

String userHome = System.getProperty("user.home"); 
String cmdString = ("open " + userHome + "/Downloads/MyPackage.pkg"); 

我不知道你爲什麼會回聲需要「Control123」,但你可能需要單獨回顯。