2012-05-07 20 views
-1

TomcatにWARファイルをデプロイします。さらに私はJARファイルを持っています。WARファイルを変更せずにWARのクラスパスにJARを追加します。

WARファイルを変更せずにWARファイル内のサービスにJARファイルのクラスを使用できるようにすることはできますか、それともWARのWEB-INF/libに追加されていますか?

JARをlib/に追加しようとしましたが、動作しません。起動時にSpringがorg.springframework.beans.factory.BeanCreationException»java.lang.NoClassDefFoundErrorで失敗します。

EDIT

私は自分自身に解決不可能とarchitectually醜い問題を作ったかもしれないことに気づきました。

  • WARを参照<bean id="warService" class="com.war.Service" />
  • 私のJARは、私が<bean id="warService" class="com.mystuff.MyService" />
  • でBean参照を交換したcom.war.Service
  • を拡張するクラスのcom.mystuff.MyServiceを持っています。ここの事です春はjava.lang.NoClassDefFoundErrorがで失敗します。com.war.Service

答えて

1

それともlibフォルダの下にあなたのTomcatのルートディレクトリに(あなたのjarファイル)を置くことができます。 CHKこのうち:あなたの編集パー

http://tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html

  1. 何かがあなたのjarファイル
  2. と間違っているあなたは、あなたのアプリケーションのコンテキストで
を完全修飾クラス名を間違えています

mysql-connector-java-5.0.8-binが私のに入ってしまったフォルダ。そして、ちょうどテストのために私は自分のアプリケーションのコンテキストでこれを入れている:

<bean id="driver" class="com.mysql.jdbc.Driver" /> 

は、あなたがTomcatのlibディレクトリを使用することができます

+0

私は/ libにするためにそれを追加しようとしましたが、それは動作しません。起動時にSpringがorg.springframework.beans.factory.BeanCreationException»java.lang.NoClassDefFoundErrorで失敗します。 – neu242

+1

@ neu242私は質問を更新しました。まだ動作していなければ、より多くのコードを表示できますか? – ant

+0

WARファイルのWEB-INF/lib /にjarファイルを入れると素晴らしい結果が得られます。よりよい例を提供できるかどうかを見ていきますが、それは*うまくいくはずです。 – neu242

0

上で、これらの2例を確認し、魅力のように働いたが、すべてのjarはすべてのためにそこに共有されている追加しましたあなたのサーバーのアプリ。

関連する問題