0

これは一般的な問題のようですが、実用的な解決策を見つけることができませんでした。私は何十ものスレッドを調べて、先生と一緒に働いてきました。JDBCを使用してMYSQLに接続しようとしています。また、Tomcatサーバーを使用しており、xubuntu12.04を実行しています。ClassNotFound例外が発生します。

/ tomact/libと/usr/ share /javaの両方に配置されたJDBCmysql-connector-java.jarドライバーを試し、各インスタンスに手動でパスを作成しました。また、デプロイアセンブリを介してパスを追加してみました。EXPORTCLASSPATHを使用してみました。何も機能していません。この例外のスローを停止することはできません。誰かが私が試すことができる他の解決策を持っていますか?

私のコード:

public static Connection getConnection() {
    if(connection!=null){
        return connection;
    }else{
        try{
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            String dbURL = "jdbc:mysql://144.91.20.136:3306/jewelryInventoryGallison";
            String username = "javaee";
            String password = "mills2012";

            connection = DriverManager.getConnection(dbURL, username, password);
            return connection;
        } catch (Exception ex) {
            ex.printStackTrace();
            return null;
        }
    }
}

テストクラス:

public static void main(String[] args) throws Exception{ 
      Connection conn = DatabaseUtils.getConnection();
      Statement st = conn.createStatement();
      ResultSet rs = st.executeQuery("SELECT * FROM Inventory");
      while(rs.next()) {
       System.out.println(rs.getString("name"));
      }

 }

およびトレース:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at utils.DatabaseUtils.getConnection(DatabaseUtils.java:19)
at utils.DatabaseUtils.main(DatabaseUtils.java:34)

utils.DatabaseUtils.main(DatabaseUtils.java:35)でのスレッド「main」java.lang.NullPointerExceptionの例外

あなたの助けは大歓迎です!

4

5 に答える 5

2

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

MySQLドライバー ライブラリがありません。Mysqlデータベースを使用しているため、含まれていることを確認してくださいmysql-connector-java

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.8-dmr</version>
</dependency>
于 2012-12-13T05:12:45.473 に答える
1

バージョンの不一致により、このエラーが発生する可能性があります。私自身、このエラーで何日も立ち往生していました。jdbc コネクタのバージョンを確認してください。最新のコネクタには Java 1.8 が必要です。私の場合、Tomcat のバージョンは、追加したコネクタのバージョンをサポートしていないので、それも確認してください。

PS: トムキャット - 8.0.32; mysql-connector - 5.1.30 で Java 1.7 が動作する (Y)

于 2016-06-24T11:16:10.660 に答える
0

以下に示すように、Tomcat 'conf' フォルダー内の 'catalina.properties' ファイルの 'common.loader' プロパティを変更します。

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar

また、Tomcat の「lib」フォルダーに「mysql-connector-java-5.0.8-bin.jar」を追加します。

于 2012-12-13T05:35:56.403 に答える