当另一个java程序执行时,自动运行java程序

当另一个java程序执行时,自动运行java程序,java,triggers,actionlistener,invoke,Java,Triggers,Actionlistener,Invoke,我在同一台机器上有两个独立的Java程序。我想让一个java程序在其他程序启动时自动执行,也就是说,如果程序A运行,程序B也应该自动开始运行 我不想让程序B成为程序a的一部分,然后在程序a的类中创建程序B的一个实例来调用以进行调用。有没有其他方法来实现这一点 您可以让程序A启动程序B,例如: Runtime.getRuntime().exec("java -jar progB.jar"); 在程序A中,将此行添加到main方法Runtime.getRuntime().exec(“java-ja

我在同一台机器上有两个独立的Java程序。我想让一个java程序在其他程序启动时自动执行,也就是说,如果程序A运行,程序B也应该自动开始运行


我不想让程序B成为程序a的一部分,然后在程序a的类中创建程序B的一个实例来调用以进行调用。有没有其他方法来实现这一点

您可以让程序A启动程序B,例如:

Runtime.getRuntime().exec("java -jar progB.jar");

在程序A中,将此行添加到main方法<代码>Runtime.getRuntime().exec(“java-jar/path/to/program.jar”)

您可以创建一个脚本来启动这两个程序。例如,在Windows上,您将创建一个.bat文件,该文件运行程序a,然后运行程序B。这不是JAVA本身,它依赖于操作系统。

这将是一个有趣的问题(假设您的意思是“仅在我的计算机上”),我试过了,但它给我一个错误,说“我无法对非静态方法exec(String)进行静态引用”从Runtime类型“@TheGeorgia,您是否使用了
Runtime.exec()
Runtime.getRuntime().exec
?再次确认您遵循了示例代码。我按照建议使用了Runtime.exec()。@正确的用法是
Runtime.getRuntime().exec
。可能我应该指出,如果这改变了什么,我正在linux中运行这些程序?您好。我试过了,但什么也没做。程序B很简单,只打印“Hello World”。但是当我使用你的建议运行程序时,我在控制台窗口中没有得到任何结果。啊,它是通过控制台运行的。这里的问题是程序b的进程正在运行,但是它的输出没有被发送到控制台。那么我如何确认程序b实际上正在运行呢?如果是这种情况,那么这正是我想要的,因为控制台显示只是一个测试,以确保progB在progA运行时运行。那么,我该如何确认progB正在运行?能否请您提供一个示例,说明progB可能是什么样子,以使您的建议有效?请将此添加到progB:Runtime.getRuntime().exec(“资源管理器”);如果我的文档打开了,那么prog b运行.Hi Dom。我不希望这依赖于操作系统,因为我计划将触发作为流的一部分的程序配置为ESB(Mule)。因此,它应该依赖于Mule ESB流。理想情况下,prog B应该是Mule流中的Java组件。也许我应该指出,我正在linux上运行这些程序,如果这有什么区别的话。谢谢