3

私はこの例外を受け取りました:

java.lang.ClassNotFoundException: net.sourceforge.jtds.jdbc.Driver

jtds-1.2.2を使用しています。jarを追加するか、外部jarを追加してみました。私もします:

    String driver = "net.sourceforge.jtds.jdbc.Driver";

    try {
        Class.forName(driver);
    } catch (ClassNotFoundException e) { 
        // TODO Auto-generated catch block
        e.printStackTrace();
    }  

私はJavaプロジェクトでも同じことをしましたが、すべてうまくいきました。しかし、jsfプロジェクトでこれを行うと、この例外が発生します。なんで ?

4

1 に答える 1

3

実行時にWebアプリケーションによって使用されるライブラリは、デプロイされたWebアプリケーションのWEB-INF/libディレクトリに配置されたすべてのjarファイルです。Webアプリケーションのコンパイルに使用されるクラスパスにライブラリを追加しても、実行時に自動的に使用可能になるわけではありません。

Eclipseを使用している場合は、jarをにドロップするだけで、WebContent/WEB-INF/libビルドパス(つまり、アプリのコンパイルに使用されるクラスパス)に自動的に追加され、デプロイされたWebアプリの一部になるため、実行時に使用できます。

于 2012-12-16T09:46:10.230 に答える