私のJAVAアプリケーションは過去10日間実行されています。
今、私は新しいメソッドを導入したバグ修正として.classファイルを置きたいのですが、ビルドはしたくありません。これをホットフィックスとしてclassesディレクトリに配置し、サーバーをバウンスします。
ずっと前に、新しいクラス/新しいメソッドを導入すると、修正プログラムを配置できない場所を読みました。それが本当なら、私はこれに関するドキュメントを探しています。
編集:用語ホットスワップを使用して検索したところ、いくつかの興味深いリンクが見つかりましたhttp://java.dzone.com/articles/reloading-java-classes-401 JavaHotswapの制限
ホットスワップはメソッド本体のみに制限されているようです。これにはJVMバグがあります。
Edit2:サーバーを再起動しているので、ここではホットスワップは実際には必要ありません。
classesという名前のフォルダーを作成し、それぞれのjarファイルの前のクラスパスに追加しました。パッケージ構造に従ってclassesフォルダーに.classファイルを追加し、サーバーを再起動しました。クラスローダーはクラスパスで指定した順序でクラスファイルをロードするため、classesフォルダーのクラスがロードされ、変更が実行時に反映されます。
Javaファイルがcom.vipin.test.Test.javaの場合と同様に、Test.classをclasses / com / vipin / testフォルダーに配置しました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加