0

Foo と呼ぶ特定のクラスのパッチを作成する必要がありました。問題を修正してテストし、コンパイルされた Foo クラスをパッチ フォルダーに投稿し、QA サーバーに投稿しました。問題は、Foo のメソッドを変更したことを忘れていたことです。そのメソッドは、サーバー上の現在のバージョンにない別のクラス (Widget と呼ばれる) から新しいメソッドを呼び出します。Foo のメソッドは現在、サーバー上のコードのどこからも呼び出されていません。

概要:

そのサーバーに存在しない Widget のメソッドを呼び出す、呼び出されていないパブリック メソッドを持つ Foo のコンパイル済みバージョンをサーバーに投稿しました。

これで何か壊れますか?QA でコードをテストしましたが、すべて問題ないようです。

この方法でパッチを適用することはお勧めできません。現在、このような問題を今後回避するために、プロジェクトのビルドとデプロイのメカニズムをアップグレードしている最中です。

ありがとう

4

2 に答える 2

3

(リフレクションを使用して) メソッドを呼び出したり、ロードしようとしたりしない場合、中断する理由はありません。

編集:リフレクションを使用してメソッドをインスタンス化すると何かが壊れるかどうかはまったくわかりません。

于 2012-09-13T16:52:24.403 に答える
2

いいえ、何も壊れません。実際、すべての依存関係 jar を含めることなく、その一部のみを使用できるフレームワークがいくつかありますが、それは問題なく動作します。

于 2012-09-13T16:52:10.770 に答える