Файл конфигурации Spring не читает значения из application.properties - PullRequest
0 голосов
/ 08 апреля 2020

Начало моего файла конфигурации с путем src / main / java / {имя пакета} /DataBaseConfiguration.java:

@Configuration
@PropertySource("classpath:application.properties")
public class DataBaseConfiguration {

    private static final Logger LOGGER = LoggerFactory.getLogger("DataBaseConfiguration.class");

    @Value("${tenantdb.driver.classname}")
    static String tenantDbDriverClassname;

    @Value("${tenantdb.url}")
    static String tenantDbUrl;

    @Value("${tenantdb.username}")
    static String tenantDbUsername;

    @Value("${tenantdb.password}")
    static String tenantDbPassword;

Мой файл application.properties с путем src / main / resources / application.properties:

tenantdb.driver.classname=org.postgresql.Driver
tenantdb.url=jdbc:postgresql://127.0.0.1:5000/tenant_db
tenantdb.username=tenant_admin_user
tenantdb.password=postgres
tenantdb.connectionpool.initialSize=3
tenantdb.connectionpool.maxActive=25
tenantdb.connectionpool.maxIdle=25
tenantdb.connectionpool.minIdle=1

Я использую gradle для сборки проекта. Я конвертирую вещи в JAR и запускаю JAR как $ java -jar / path / to / jar. Код выполняется и выполняется, и все мои операторы отладки печати записываются в журнал. Однако все значения моих переменных равны нулю, т.е. из файла свойств ничего не читается.

Я убедился, что файл application.properties находится в JAR.

Файлы в архиве целостность-check-service.jar

META-INF/
META-INF/MANIFEST.MF
BOOT-INF/
BOOT-INF/classes/
BOOT-INF/classes/com/
BOOT-INF/classes/com/agilysys/
BOOT-INF/classes/com/agilysys/analytics/
BOOT-INF/classes/com/agilysys/analytics/integritycheckservice/
BOOT-INF/classes/com/agilysys/analytics/integritycheckservice/CompareData.class
BOOT-INF/classes/com/agilysys/analytics/integritycheckservice/DataBaseConfiguration.class
BOOT-INF/classes/application.properties

(Есть другие файлы, но я не распечатал их все здесь.)

Кто-нибудь знает, почему это происходит?

1 Ответ

2 голосов
/ 08 апреля 2020

@ PropertySource не работает с переменными c. Избавьтесь от ключевого слова stati c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...