下記のようなエラーがでたときの対処法です。

1.「org.h2.jdbc.JdbcSQLException: データベースが使用中です: “/Applications/h2/db.mv.db”. 可能な解決策: 他の接続を全て閉じる; サーバモードを使う」

 H2のデータベースをブラウザで立ち上げていると、H2データベースはブラウザとの接続されている状態になるため、WEBアプリケーションからH2に接続することができません。下記のボタンを押して、ブラウザとの接続を切断してください。

スクリーンショット 2015-04-01 23.11.19

2.「java.lang.ClassNotFoundException: org.h2.Driver」

 テストクラスを作ってmain()メソッドでH2に接続しようとした時に、H2のライブラリをWEB-INF/lib等に入れているのにエラーが出るときの対処法です。

エラー例:
『java.lang.ClassNotFoundException: org.h2.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:259)
at dao.AccountDAO.findByLogin(AccountDAO.java:32)
at test.AccountDAOTest.testFindByLogin2(AccountDAOTest.java:44)
at test.AccountDAOTest.main(AccountDAOTest.java:20)』

 テストを実行するときはライブラリとのパスが繋がっていないので、ビルドパスの設定をする必要があります。Netbeansの場合、プロジェクトを右クリックして「プロパティ」を選択します。下記の順でjarファイルのパスを追加します。②でh2のjarファイルを探してパスをつないでください。

スクリーンショット 2015-04-01 23.16.35