基本上我有另一个java进程,为简单起见,我将其称为Test.jar。我有另一个程序,我们叫它program。jar。我的目标是能够在我的计算机上运行Test.jar,然后在Program.jar中,我希望能够找到并检测Test.jar的正确进程,如果Test.jar没有运行或没有找到它,它将显示某种消息来启动Test.jar,并能够用反射或类似的东西来操纵它。基本上是钩子到另一个java进程。
这可能吗?有人知道有什么资源可以提供这方面的信息吗?由于
好的,关于XY问题的帖子。我再讲清楚一点。
我有一个客户端,需要身份验证才能进入它。一旦它登录,客户端是不断运行在一台计算机上,我需要做的是创建一个第三方程序,将钩到客户端,并告诉它连接到一个特定的主机(可能通过使用一个方法,已经在客户端),而不修改客户端本身的源代码。
进程不能"调用"其他进程的方法。这两个进程被操作系统完全分开。
进程可以通过网络通信,即使它们运行在同一台计算机上。您可以实现自己的协议并通过TCP发送消息,而其中一个进程(似乎是您的Test)将是服务器,另一个是客户端。然而,您可以通过使用更高级别的工具(例如RMI)来简化您的任务。然而,您似乎需要更高级的API,例如JMX。
所以,如果你描述了你所有的需求,我推荐你JMX。
但如果有其他要求,请说明。我建议您在这里描述您的任务,因为它是由产品管理定义的。您的Program.jar和Test.jar是您的体系结构的一部分,可能不是最佳选择,因此我相信如果您描述了您真正需要的东西,那么社区可以帮助您做出更好的设计。
好运。