如何从java File在终端上执行我自己的命令

时间:2012-09-18 08:57:20

标签: java terminal ros

我正在尝试用Java创建一个eclipse项目来启动带有一些按钮的命令。 Ros fuerte的库(我想要使用的这些库)已正确安装并且我正在尝试使用以下命令从Java文件启动ros命令:

String cmd = "roscore";

Runtime rt = Runtime.getRuntime();

Process p = rt.exec(cmd);

如果我从当前终端启动此命令,它可以正常工作,但如果我从java文件中执行此操作,则会出现问题,因为终端无法识别该命令。

java.io.IOException: Cannot run program "roscore": java.io.IOException: error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:475)
at java.lang.Runtime.exec(Runtime.java:610)
at java.lang.Runtime.exec(Runtime.java:448)
at java.lang.Runtime.exec(Runtime.java:345)
at LaunchTerminal.main(LaunchTerminal.java:24)

我认为我需要添加一些路径或类似但我找不到相关信息。有谁知道怎么做?

谢谢你。

2 个答案:

答案 0 :(得分:0)

只有普通命令可以像rm或cd一样执行...其他命令必须用完整的上下文路径引用

答案 1 :(得分:0)

如果您使用的是groovy发行版,请执行以下操作:

String cmd = "source /opt/ros/groovy/setup.bash && roscore";