我一直在尝试使用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
提前致谢!!
答案 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"作为第二个论点。