2

main()コマンド プロンプトから実行したかのように、あるアプリケーションを別のアプリケーションから実行することはできますか?

使用できることはわかっていますRuntime.exec()が、純粋なJavaから実行できる場合は?

アップデート

呼び出して実行main()すると、同じスレッドで実行され、呼び出し元は終了するまで待機します。メインを新しいスレッドで実行すると、静的メンバーを介して呼び出し元に干渉する可能性があります。

私の目標は、完全に別のアプリケーションを実行することです。

4

3 に答える 3

3

本当に別のアプリケーションが必要な場合は、回避策Runtime.exec()または同等の方法はありません。プロセスの生成はオペレーティング システムの機能であり、Java は何らかの方法でオペレーティング システムの実行メソッドを呼び出す必要があります。

ただし、クラスローダーとスレッドを使用して、同じ JVM 内で 2 つのアプリケーションを実行できます。最も一般的なユース ケースはアプリケーション サーバーですが、Plexusなどのコンテナーを使用して同じことを行うこともできます。

于 2012-10-01T16:02:13.847 に答える
2

新しいインスタンスを作成し、その実行メソッド内で別のクラスThreadのメソッドを呼び出すことができます。main()

于 2012-10-01T16:05:03.840 に答える
1

Mainは静的関数であり、他の関数から呼び出すことができ、正常に実行されるはずです。

于 2012-10-01T15:27:16.233 に答える