在wildfly中连接到h2数据库的问题

时间:2014-10-21 18:54:38

标签: java eclipse jsf wildfly

我已经在wildfly中创建了数据库,因为我可以在eclipse中访问它,所以这一切都是正确的。我在wildfly中创建了一个DataSource java:jboss/datasources/Test5JPA并测试它没有任何问题。现在我想测试我是否可以从不同的java项目(在eclipse中)访问它,并且我的问题就出现了。

有人告诉我尝试使用这样的东西来连接数据库,但我无法使其正常工作:

Connection connection = null;
Statement statement = null;
boolean resultOfInsert = false;

Class.forName("org.h2.Driver");
connection = DriverManager.getConnection("java:jboss/datasources/Test5JPA");
statement = connection.createStatement();
resultOfInsert = statement.execute("INSERT INTO person (id1, name) VALUES('12','test');");

我收到了这个错误:

13:32:20,642 ERROR [stderr] (default task-15) java.lang.ClassNotFoundException: org.h2.Driver from [Module "deployment.Tarea3.war:main" from Service Module Loader]

13:32:20,642 ERROR [stderr] (default task-15)   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:197)

13:32:20,642 ERROR [stderr] (default task-15)   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:443)

13:32:20,642 ERROR [stderr] (default task-15)   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:431)

13:32:20,642 ERROR [stderr] (default task-15)   at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:373)

13:32:20,642 ERROR [stderr] (default task-15)   at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:118)

13:32:20,642 ERROR [stderr] (default task-15)   at java.lang.Class.forName0(Native Method)

13:32:20,642 ERROR [stderr] (default task-15)   at java.lang.Class.forName(Unknown Source)

我被告知要下载org.h2.Driver,我从这里得到它:http://www.java2s.com/Code/Jar/h/Downloadh2jar.htm但它没有帮助。

同时将连接更改为: connection = DriverManager.getConnection("jdbc:h2:file:~/final-jpa/Test5JPA"); 也没有帮助。

1 个答案:

答案 0 :(得分:1)

你得到一个ClassNotFoundException,看起来你没有正确复制你的h2 jar ..确保你把它放在你的战争的lib文件夹中..