Maven,看不到我的h2课

时间:2016-05-12 20:35:43

标签: maven h2

我的大学项目存在问题

我正在尝试连接到我的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();
    }
}

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这是失败的,因为h2 db驱动程序类在运行时不在类路径中。您应该将它们与应用的jar文件捆绑在一起,如果它们不是以某种方式成为应用程序类路径的一部分。

使用maven-shade-plugin或maven-jar-plugin将捆绑依赖项与您的应用程序的jar(在本例中称为Uber jar)一起使用它是单独的 runnable jar。