2012-04-09 13 views
3

Unix環境では、Javaコードを実行していて別のパラメータで再実行したい場合は、データを失うことなく再コンパイルできますか?以前のJavaタスクはまだ動かずに実行されますか?あなたは、再コンパイルすることなく、異なる(コマンドライン)パラメータを使用して同じJavaプログラムのmultilpeインスタンスを実行することができます実行中のJavaコードの再コンパイルと再実行

乾杯、 シモーネ

+0

あなたの質問はちょっと混乱しています。私はあなたが何を意味するのか分かりません。あなたはおそらくいくつかのコードを表示できますか? – Aidanc

+1

ほとんどの環境で、アプリケーションの実行中にJavaの.classファイルを再コンパイルすると、実行中のアプリケーションは影響を受けません。古いコードでは引き続き実行されます。ただし、アプリがまだすべてをロードしていない場合、アプリでまだ参照されていない.classファイルが突然検出され、「異常な」動作につながる可能性があります。 –

+0

よくある[HCR](http://wiki.eclipse.org/FAQ_What_is_hot_code_replace%3F)とそれに類するもの – Voo

答えて

3

同じプログラムの異なるバージョンを実行して実行時に再コンパイルすることは可能ですが、プログラムの実行中にクラスファイルを変更すると、そのファイルがまだロードされていない場合、現在のランタイムに影響することがあります。 クラスファイルまたはjarファイルの別の作業コピーを作成し、同時に2つの異なるバージョンを実行する場合は、変更後にコピーを起動する必要があります。 あなたのプログラムの変更をプロパティファイルや他のコンフィギュレーションファイルのモッズに変更することができれば、それが良い解決策だと思います。