Я пробовал проект Dropwizard с использованием Maven. Я могу запустить привет мировые программы. Когда я пытался запустить программу базы данных с помощью 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
Заранее спасибо !!
Как указано в некоторых примерах в репозитории Dropwizard, вам может потребоваться предоставить конфигурацию вашего шаблона таким образом, чтобы свойства базы данных были удалены оттуда.
Итак, вы попробовали запустить приложение для настройки своей базы данных с помощью.yml файла в качестве аргумента командной строки? Что-то вроде следующего:
java -jar your-artifact.jar db migrate your-configuration-file.yml
Затем запустите приложение следующим образом:
java -jar your-artifact.jar server your-configuration-file.yml
У меня была такая же ошибка, но другое решение зафиксировало ее. Вы должны передать свой файл yml в качестве аргумента при запуске io.dropwizard.Application в режиме сервера. Например
public static void main(String[] args) throws Exception {
new ApiApplication().run(new String[] {"server", "db.yaml"});
}
Добавление аргумента "db.yaml" в мой массив строк исправило его. Или, если вы передаете свои аргументы из терминалы/консоли, вам нужно добавить "yourconfig.yaml" или "yourconfig.yml" в качестве второго аргумента.