2011-08-10 27 views
35

IDE内で実行されているTomcat 7でEclipse 3.7(STS)を使用しています。私は新しい動的Webプロジェクトを作成し、単一のJSPファイルをWebコンテンツルートフォルダに追加しました。私はTomcatを実行し、問題なくEclipse内からJSPにアクセスできます。Eclipseビルドパスでユーザーライブラリを使用しているときClassNotFoundException

私はいくつかのサードパーティのJARをプロジェクトに追加しました(私はMavenや自動依存性管理を使用していません)。 JSPでは、プロジェクトのJARファイルからクラスを参照していますが、問題なくコンパイルできますが、Tomcatにデプロイすると、JSPでClassNotFoundExceptionがスローされます。明らかに、Tomcatは私のライブラリ設定からJARを見つけることができません。 Tomcat ServerのRun As設定を作成しようとしましたが、プロジェクトのクラスパス設定と一致するようにクラスパスを設定しましたが、同じclassnotfoundの問題が発生します。

すべてのプロジェクトJARをWEB-INF/libディレクトリに手動でコピーすることでこの問題を回避することができます.WebAppはすべての依存関係を見つけることができますが、それは不合理であり、メンテナンス悪夢。

何か不足していますか?

答えて

89

プロジェクトのプロパティで展開アセンブリに移動します。そこに、ユーザーライブラリとして手動で追加したビルドパスエントリも追加します。デプロイされたWARの/WEB-INF/libに終わるでしょう。

enter image description here

+6

LIFESAVER!それはうまくいった、私は簡単な方法があった、イエスキリスト、今私はいくつかの睡眠を得ることができることを知って、感謝百万! – user646584

+1

旧式のEclipseを使用している場合のために、バージョン3.4.2では、プロジェクトプロパティのオプションの名前は「Java EEモジュールの依存関係」 – Bizmarck

+0

@bizmarkです。 http://stackoverflow.com/questions/3511479/business-logic-layerin-servlet-and-jsp/3511933#3511933 – BalusC

2

jarファイルをWEB-INF/libフォルダにコピーする必要があります。これは、想定される場所です。

Eclipseには、すべての依存関係を含むWARファイルを生成するオプションが用意されています.Webツールを使用していませんが、WEB-INF/libまたはクラスローダーはそれらを見つけることができません。

+0

私は、Eclipse STSの動的Webプロジェクトのための任意のWARの設定を見つけることができませんが、それは私が年のためのEclipseガリレオを使用した後に期待したものですので、私はあなたが話している内容を正確に把握。 – user646584

関連する問題