2016-06-29 13 views
0

私は教育の目的でEclipseプラグインを実行しています。 私の目標は、Runボタンが押されたときに、追加のJavaスレッドを実行させることです。 したがって、通常起動しているプログラムと一緒に、私自身のプラグインコードを実行したい(プラグインで指定した)。Eclipseプラグイン:コードを起動するJavaプロセスを添付

実行時にコードを実行する新しいJavaスレッドを作成しようと考えましたDebugUITools.launch(config, mode);。 しかし、スレッドを起動したプロセスにどのように付けてスレッドを止めることができるかわかりません...

私はプラグインコードのJava起動設定を作成することも考えましたが、私が見る限り、Projectが必要です。

したがって、起動したプログラムに新しいスレッドをプログラムで追加する可能性はありますか?または、プラグインコードから2番目の起動設定を作成して起動することができますか?

私はあなたに私の苦労を説明することができたと思います。

答えて

0

各起動では、全く新しいJVMでコードが実行されます。現在のJVMでスレッドを取得して別のスレッドに移動することはできません。

コード内の2回目の起動設定は、どこにもいらない別のJVMを起動するだけに終わります。

既存の起動設定を変更してコードを含むjarファイルを追加し、スレッドを開始できるようにプログラムエントリポイントをコードに変更します。

+0

こんにちは、もう一度お返事いただきありがとうございます。起動設定のエントリポイントを変更すると、通常起動されるプログラムは起動しません。私が間違っているなら、私を訂正してください。たぶん私は自分のメソッドを呼び出すことができますが、プラグインには意味がありません。 –

+0

あなたのコードは、他のプログラムの 'main'メソッドを呼び出さなければなりません。 –

+0

私はアプリケーションのエントリーポイントを変更しましたが、プラグインコードがパスにないというエラーが出ました...今は 'wcTemp.setAttribute(IJavaLaunchConfigurationConstants.ATTR_CLASSPATH、"/C: /Users/EMAKMEL/Desktop/eclipse/DLaunchConf_1.0.0.jar ");'しかし成功しません...起動設定のクラスパスを設定する正しい方法を知っていますか? –

関連する問題