【发布时间】:2025-12-02 20:15:02
【问题描述】:
我正在尝试在我的 Ubuntu 机器上启动 activemq。我正在尝试使用 Java 启动服务。以下是我的代码:
Runtime rt= Runtime.getRuntime();
rt.exec(new String[]{"/bin/sh", "-c", "cd /home/varkala/Srinivas /Prime360/softwares/apache-activemq-5.5.1/bin;./activemq start"});
我也尝试运行 bin 文件夹中的 run.jar。但它没有工作
rt.exec(new String[]{"/bin/sh", "-c", "cd /home/varkala/Srinivas /Prime360/softwares/apache-activemq-5.5.1/bin;java -jar run.jar start"});
这些是错误日志:
/bin/sh: 1: cd: can't cd to /home/varkala/Srinivas
Can't open startup.sh
但是当我手动打开终端并执行命令时,activemq 会启动。我的代码有问题吗?
更新:奇怪的是,我尝试使用另一个目录执行 cd 命令:/home/Varkala/Desktop .. 该命令工作正常。但是对于上述目录,我收到错误
【问题讨论】:
-
恐怕“它不起作用”不足以让我们尝试确定原因。您可以分享任何错误或日志输出吗?
-
@ThisIsNoZaku 提供了错误日志
-
尝试启动脚本而不是直接运行jar activemq.apache.org/unix-shell-script
-
等等,主目录是 /home/Varkala 还是 /home/varkala/Srinivas(2 级深)?
-
您能否详细说明您为什么使用Java 程序调用shell 脚本来启动Java 程序?为什么不简单地运行嵌入 Java 程序的代理?
标签: java activemq ubuntu-16.04