質問編集履歴

1 情報の修正

KoheiOO

KoheiOO score 7

2019/04/18 13:23  投稿

h2 databaseへの接続でClassNotFoundExceptionが起きる
### 前提・実現したいこと
Java初心者です。「スッキリわかるサーブレット&JSP入門」を使って勉強をしています。
JDBCプログラムにて、H2 databaseへ接続を試みると、下記のエラーが発生します。
見本と何度も見比べてみましたが間違いがわかりません、自分なりに調べてみましたが解決方法がわからず質問させていただきました。
WEB-INF/libへ「jtsl-api-1.2.jar」「jtsl-impl-1.2.jar」のファイルも入れています。
### 発生している問題・エラーメッセージ
java.lang.ClassNotFoundException: org.h2.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:425)
   at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
   at java.lang.Class.forName0(Native Method)
   at java.lang.Class.forName(Class.java:195)
   at jdbc.SelectEmployeeSample.main(SelectEmployeeSample.java:13)
### 該当のソースコード
```Java
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SelectEmployeeSample {
   public static void main(String[] args){
       Connection conn = null;
       try {
           Class.forName("org.h2.Driver");
           conn = DriverManager.getConnection(
                   "jdbc:h2:file:c:/Users/ogiya/H2/example","sa","");
                   "jdbc:h2:file:c:/Users/ユーザー名/H2/example","sa","");
           String sql = "SELECT ID,NAME,AGE FROM EMPLOYEE";
           PreparedStatement pStmt = conn.prepareStatement(sql);
           ResultSet rs = pStmt.executeQuery();
           while(rs.next()) {
               String id = rs.getString("ID");
               String name = rs.getString("NAME");
               int age = rs.getInt("AGE");
               System.out.println("ID:" + id);
               System.out.println("名前:"+ name);
               System.out.println("年齢:"+ age + "\n");
           }
       }catch(SQLException e) {
           e.printStackTrace();
       }catch(ClassNotFoundException e) {
           e.printStackTrace();
       }finally{
           if(conn != null) {
               try {
                   conn.close();
               }catch(SQLException e) {
                   e.printStackTrace();
               }
           }
       }
   }
}
```
### 試したこと
libフォルダへの貼り付け直しなど
### 補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
  • Java

    19074 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • SQL

    3904 questions

    SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る