能够在Linux中从链接运行jar

时间:2012-03-04 00:41:40

标签: java linux ubuntu jar runtime

为了使我的程序更加用户友好且易于更新,安装时会在桌面上创建.jar文件的链接。

问题是 - 文件未标记为可执行文件,因此用户必须找到隐藏目录并将jar文件标记为可执行文件。布莱什。

我尝试使用:

Runtime.getRuntime().exec(new String[]{"sudo","chmod","+x",home+"/"+dir+"/DevChat.jar"});

,可以预见,请求用户的密码没有回复。

那么我有什么办法吗? A)在提示用户输入用户密码后给运行时提供用户密码, B)使链接运行命令“java -jar blahblahblah.jar”,或 C)编写一个将文件标记为可执行文件的安装脚本?

3 个答案:

答案 0 :(得分:0)

您无需成为root用户即可更改您拥有的文件系统对象的权限。

答案 1 :(得分:0)

有人说...你不需要root就可以更改jar文件的权限。
但是,如果这个文件放在需要管理员权限来访问它的文件夹中,或者没有解决方法,只需在运行sudo时使用-S选项 有关参考,请点击此处:Getting stdin from sudo command;)
干杯啦!

P.S。:当然,你必须打开一个流,然后从终端获取,我认为在你的情况下是微不足道的。如果你确实有问题,那就问一下。

答案 2 :(得分:0)

由于您在桌面上创建了一个链接,我假设您希望与用户进行某种基于GUI的交互。

如果是这样,只需使用gksudo而不是sudo。

   Runtime.getRuntime().exec(new String[]{"gksudo","chmod","+x",home+"/"+dir+"/DevChat.jar"});

如果您需要更复杂的内容,请查看Zenity