Maven Dropwizard中的Hibernate数据库连接错误

时间:2014-08-25 06:52:05

标签: java hibernate maven dropwizard

我一直在尝试使用Maven的Dropwizard项目。我可以运行你好的世界节目。当我尝试使用Hibernate运行数据库程序时,在使用java -jar运行程序时出现如下错误。

default configuration has the following errors:   
        * database.driverClass may not be null (was null)   
        * database.url may not be null (was null)   
        * database.user may not be null (was null)  
        * template may not be empty (was null)

这是我的hello-world.yml文件

template: Hello, %s!
defaultName: Stranger
database:
    driverClass: com.mysql.jdbc.Driver
    user: root
    password:
    url: jdbc:mysql://localhost/test

提前致谢!!

2 个答案:

答案 0 :(得分:3)

正如Dropwizard repository中的一些示例中所述,您可能需要提供模板文件配置,以便从那里提取数据库属性。

那么您是否尝试使用 .yml 文件作为命令行参数运行应用程序来设置数据库?如下所示:

java -jar your-artifact.jar db migrate your-configuration-file.yml

然后按如下方式运行您的应用程序:

java -jar your-artifact.jar server your-configuration-file.yml

答案 1 :(得分:2)

我遇到了同样的错误,但是另一个解决方案修复了它。在服务器模式下运行io.dropwizard.Application时,您应该将yml文件作为参数传入。例如

public static void main(String[] args) throws Exception {
    new ApiApplication().run(new String[] {"server", "db.yaml"});
}

添加" db.yaml"我的字符串数组的参数修复了它。或者,如果您从终端/控制台传递args,则需要添加" yourconfig.yaml"或" yourconfig.yml"作为第二个论点。

Source of the solution I found