2012-07-25 81 views
24

私はこのように、servlet内日食Dynamic Web Projectでフォローコードを使用する場合:でのEclipse - 動的Webプロジェクトにの.jar追加

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

:それは例外をスロー

@WebServlet("/CreateCustomerServlet") 
public class CreateCustomerServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    private void test() throws SQLException, ClassNotFoundException { 
     // use the JAR ... 
     Class.forName("com.mysql.jdbc.Driver");//here the exception 
    } 
} 

行:

Class.forName("com.mysql.jdbc.Driver");

私はjarファイルを追加した動的Webプロジェクトのビルド・パスに:それは必要なjarファイルです

mysql-connector-java-5.1.21-bin.jar

私は、フォルダのスナップショットを追加し、あなたが見ることができる -

enter image description here

答えて

33

あなたのスクリーンショットが示しているように、mysql jarはWeb App Librariesノードの下には表示されません。 jarファイルをWebContent/WEB-INF/libに貼り付け、自動的にビルドパスandをwebappのランタイムクラスパスに追加します(Web Appライブラリの下に表示されます)。

+0

ありがとうございます! – newbie

+2

ありがとうございました。あなたはHackathonに私たちを救った – gkiko

+0

それは、私も同じ問題に直面していた、ダイナミックなWebプロジェクトのパスを構築するいくつかの問題はありますか? –

1

コンパイル時間&ランタイムは2つの異なるものです。これまでに追加したことは、コンパイル時のためのものです。&ビルド専用です。ランタイム・サーバーはクラスをロードしようとします。プロジェクトのlibフォルダにも同じjarを追加します(WARでパッケージ化され、実行時にサーバで利用可能)。

2

はこれをやってみてください。

のproyectのルートディレクトリ内のlibというディレクトリを作成し、その中の.jarを入れます。

WEB-INFディレクトリに、libへのリンクを作成します。

ここで、jarはWebbApp Librariesの下に表示されます。

23

ただちにこの問題のトラブルシューティングを行います。

  • プロジェクトのpropertiesにアクセスしてください。
  • Deployment Assembly - >add - >Java Build Path Entriesを選択します。

あなたは完了です!

+3

これは完璧です。プロジェクトのlibフォルダにlibのjarファイルが入っています...恐ろしい –

0

ソリューションは非常に簡単です:プロジェクト名>のJavaリソース::SRC>ライブラリ> WebAppのライブラリ

1. Right click on the your web project and choose PROPERTIES 

2. Choose the J2EE Module Dependencies 

3. Click on the Add External JARs… and then point on your library file (ZIP or JAR) 

4. Click on Apply then OK. 

5. Restart your Apache Tomcat 

追加ライブラリは、下見られるべきです。

+1

Eclipseの新しいバージョンでは、J2EE Module DependenciesがDeployment Assemblyに置き換えられているようです。 – Pshemo

+0

@Pshemo、yes buddy。あなたの権利は、それより新しいバージョンです。しかし、これもまたバディに答えます。 – jmail

+1

私はこれが答えではないと言っているわけではありません。なぜなら、それは多くの人々にとって役に立つことがあるからです。私のコメントは、新しいバージョンのEclipseを使用している人にとってはほとんど改善が見られませんでした。また、おそらく多くの人々はあなたの仲間ではないので、この言葉を避けてみてください。 – Pshemo

関連する問題