Javaクラスに新しいメソッドを追加した後、hotifx(ビルドせずにクラスファイルを移動するだけ)を配置できますか?

Vipin

私のJAVAアプリケーションは過去10日間実行されています。

今、私は新しいメソッドを導入したバグ修正として.classファイルを置きたいのですが、ビルドはしたくありません。これをホットフィックスとしてclassesディレクトリに配置し、サーバーをバウンスします。

ずっと前に、新しいクラス/新しいメソッドを導入すると、修正プログラムを配置できない場所を読みました。それが本当なら、私はこれに関するドキュメントを探しています。

編集:用語ホットスワップを使用して検索したところ、いくつかの興味深いリンクが見つかりましたhttp://java.dzone.com/articles/reloading-java-classes-401 JavaHotswapの制限

ホットスワップはメソッド本体のみに制限されているようです。これにはJVMバグがあります。

Edit2:サーバーを再起動しているので、ここではホットスワップは実際には必要ありません。

Vipin

classesという名前のフォルダーを作成し、それぞれのjarファイルの前のクラスパスに追加しました。パッケージ構造に従ってclassesフォルダーに.classファイルを追加し、サーバーを再起動しました。クラスローダーはクラスパスで指定した順序でクラスファイルをロードするため、classesフォルダーのクラスがロードされ、変更が実行時に反映されます。

Javaファイルがcom.vipin.test.Test.javaの場合と同様に、Test.classをclasses / com / vipin / testフォルダーに配置しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ