如何从jar文件中执行shell脚本

时间:2015-07-24 10:00:24

标签: java shell jar root

我在java中使用shell命令。当我在netbeans中运行项目时,它运行良好。但是当我通过命令行运行项目的jar文件时,它会发出此错误

java.io.IOException: Cannot run program "sudo rabbitmqctl list_queues": error=2, No such file or directory

你能说出是否有办法从jar文件运行shell命令?

1 个答案:

答案 0 :(得分:1)

你有很多选择:

  1. 您可以使用RunTime类。 Runtime getRuntime() exec(String command) 查看Runtime了解更多信息。

  2. 您可以使用ProcessBuilder。 Process p = new ProcessBuilder("myCommand", "myArg").start();请查看ProcessBuilder以获取更多信息。

  3. 您可以使用jsch API从本地计算机执行Linux / Unix命令到任何远程系统。您可以在java代码中创建shell脚本(如果您运行多个shell命令),然后设置与远程服务器的jsch连接。使用jsch连接,您可以将shell脚本复制到远程服务器并运行整个shell脚本。我发现第3个选项非常有用。