0

基本的に、別の Java プロセスがあります。簡単にするために、Test.jar と呼びます。別のプログラムがあります。これを Program.jar と呼びましょう。私の目標は、自分のコンピューターで Test.jar を実行できるようにすることです。次に、Program.jar 内で、Test.jar が実行されていないか見つからない場合に、Test.jar の正しいプロセスを見つけて検出できるようにしたいと考えています。 Test.jar を開始するための何らかのメッセージを表示し、リフレクションなどで操作できるようにします。基本的に、別の Java プロセスにフックします。

これは可能ですか?情報を含むリソースを知っている人はいますか? ありがとう

さて、XY問題の投稿についてです。もう少しわかりやすくします。

私はそれに入るために認証を必要とするクライアントを持っています。ログインすると、クライアントは常にコンピューター上で実行され、クライアントにフックして特定のホストに接続するように指示するサードパーティプログラムを作成する必要があります (おそらく、既に存在する方法を使用して)クライアント自体のソース コードを変更せずに)。

4

1 に答える 1

0

プロセスは、他のプロセスのメソッドを「呼び出す」ことはできません。両方のプロセスは、オペレーティング システムによって完全に分離されています。

プロセスは、同じコンピューター上で実行されている場合でも、ネットワーク経由で通信できます。独自のプロトコルを実装し、TCP 経由でメッセージを送信できますが、プロセスの 1 つ (テストのようです) がサーバーになり、他のプロセスがクライアントになります。ただし、RMI などの高レベルのツールを使用すると、タスクを簡素化できます。ただし、JMX などのさらに高レベルの API が必要なようです。

したがって、すべての要件を説明した場合は、JMX をお勧めします。

しかし、他の要件がある場合は、それらを説明してください。製品管理者によって定義されているので、ここにあなたのタスクを説明することをお勧めします. あなたの Program.jar と Test.jar はおそらく最良の選択ではないアーキテクチャの一部です。そのため、本当に必要なものを記述すれば、コミュニティはより良い設計を行うのに役立つと信じています。

幸運を。

于 2013-06-04T19:23:44.180 に答える