1

アプリケーションの機能を拡張する過程で、applicationContextの既存のBean定義にいくつかの追加のBean参照を追加しました。私は彼らのゲッターとセッターを私のJavaクラスに含めました。クラスAは新しくBeanBとCを参照し、クラスAでは、BとCにゲッターとセッターを追加し、クラスA内のメソッドでこれらのゲッターを使用しました。BeanBとCはマップにすぎず、クラスDがあります。これらのBeanに値を入れました。これで、実稼働マシンでwarファイル全体を再度生成する代わりに、ローカルコピーでwarを生成しました。この戦争から私はクラスAとDを選び、本番マシンのクラスをこれらの新しいクラスに置き換えました。また、applicationContext.xmlを置き換えました。本番マシンでTomcatを再起動した後、BeanBのゲッターが原因でクラスAのNPEを取得します。

これを解決するにはどうすればよいですか?戦争全体を本番マシンに再展開したくありません。

4

1 に答える 1

0

tomcat を再起動すると、存在する war ファイルが解凍され、手動で行った変更が上書きされます。私の理解が正しければ、クラス ファイルを爆発した戦争にコピーしようとしています。特に良い考えではありません。

war ファイルがデプロイされているのと同じマシンで war ファイルを生成する必要はありません (実際、それは珍しいことです)。アプリ固有の設定に注意する必要があります。

于 2012-08-14T13:57:37.423 に答える