【问题标题】:How to execute my own commands on terminal from java File如何从 java File 在终端上执行我自己的命令
【发布时间】:2012-09-18 08:57:20
【问题描述】:

我正在尝试用 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)

我认为我需要添加一些路径或类似的,但我没有找到信息。有人知道怎么做吗?

谢谢你。

【问题讨论】:

标签: java terminal ros


【解决方案1】:

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

【讨论】:

  • 谢谢!现在它可以工作了,但是终端在执行命令时会关闭。是否可以保持打开状态?
  • 为什么要保持打开状态?但这里是一个不错的网站java-tips.org/java-se-tips/java.util/…
  • 我需要它,因为它是一个程序(主),Ros 的所有其余“节点”都与它相连,所以我需要打开它。
  • 是 roscore 一个可以在终端的任何地方使用的命令吗?如果是...我不知道为什么这不起作用...否则...您必须使用此脚本的完全限定路径和名称
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 2014-12-15
    • 2016-04-05
    • 2015-08-16
    • 2018-08-21
    • 1970-01-01
    • 2011-05-09
    • 2020-01-29
    • 1970-01-01
    相关资源
    最近更新 更多