2016-04-19 114 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”,但你可能需要单独回显。