#java #spring #postgresql #spring-boot #illegalargumentexception
#java #весна #postgresql #весенняя загрузка #illegalargumentexception
Вопрос:
При попытке запустить мой проект я получаю сообщение об ошибке:
java.lang.IllegalArgumentException: URL-адрес должен начинаться с ‘jdbc’
Я настраиваю подключение к базе данных в файле application.properties, который выглядит следующим образом:
spring.datasource.url=${JDBC_DATABASE_URL}
spring.datasource.username=${JDBC_DATABASE_USERNAME}
spring.datasource.password=${JDBC_DATABASE_PASSWORD}
И иметь скрипт запуска maven / spring-boot, который получает параметры виртуальной машины:
-DJDBC_DATABASE_URL="jdbc:postgresql://localhost:5432/project"
-DJDBC_DATABASE_USERNAME="postgres"
-DJDBC_DATABASE_PASSWORD="postgres"
Несколько тестов показали мне, что параметры виртуальной машины полностью не разрешены, но я понятия не имею, как это исправить.
Моя среда разработки — IntelliJ Community Edition.
Это сработало нормально. Сегодня я обновил проект до Java 15, но, на мой взгляд, это не должно приводить к такой проблеме.
У вас есть какие-либо идеи, где конфигурация перезаписывается или что-то в этом роде?
Ответ №1:
Когда вы цитируете только значение, символы кавычек становятся частью значения, что означает, что URL-адрес теперь начинается с a "jdbc
, поэтому вы получаете сообщение об ошибке «должно начинаться с jdbc
«.
У вас есть два варианта:
- Не заключать в кавычки:
-DJDBC_DATABASE_URL=jdbc:postgresql://localhost:5432/project -DJDBC_DATABASE_USERNAME=postgres -DJDBC_DATABASE_PASSWORD=postgres
- Процитируйте весь аргумент:
"-DJDBC_DATABASE_URL=jdbc:postgresql://localhost:5432/project" "-DJDBC_DATABASE_USERNAME=postgres" "-DJDBC_DATABASE_PASSWORD=postgres"
Комментарии:
1. Я пробовал это, но это, к сожалению, не решает мою проблему.