我的大学项目存在问题
我正在尝试连接到我的h2数据库,但我失败了。 我将它包含在Maven依赖项中,但它仍然不起作用。
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.186</version>
</dependency>
我只得到classnotfoundexception
public class main {
public static void main(String[] a)
{
Class.forName("org.h2.Driver");
try (Connection conn = DriverManager.getConnection("jdbc:h2:~/test");
Statement stat = conn.createStatement()) {
stat.execute("create table test(id int primary key, name varchar(255))");
stat.execute("insert into test values(1, 'Hello')");
try (ResultSet rs = stat.executeQuery("select * from test")) {
while (rs.next()) {
System.out.println(rs.getString("name"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
有什么建议吗?
答案 0 :(得分:0)
这是失败的,因为h2 db驱动程序类在运行时不在类路径中。您应该将它们与应用的jar
文件捆绑在一起,如果它们不是以某种方式成为应用程序类路径的一部分。
使用maven-shade-plugin或maven-jar-plugin将捆绑依赖项与您的应用程序的jar(在本例中称为Uber jar)一起使用它是单独的 runnable jar。