Показать расположение файла свойств в коде клиента - PullRequest
0 голосов
/ 15 июня 2011

У меня есть bean-компонент, объявленный в моем файле applicationContext, например:

<util:properties id="myProperties" scope="prototype" location="file:${catalina.home}/webapps/myProperties.properties"/>

в коде моего клиента. Я использую этот bean-компонент для получения файла свойств следующим образом:

Properties props = context.getBean("myProperties", Properties.class);

Thisнаходится в блоке try catch, если файл свойств изначально находится в неправильном месте.

При сбое кода на экране отображается сообщение об ошибке «Файл свойств не найден».

Мой вопрос: можно ли также отобразить путь, по которому Spring ищет файл свойств в коде клиента?Так что мое новое сообщение об ошибке гласит: Файл свойств не может быть найден в: 'somePath.

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 июня 2011

Используйте PropertyPlaceholderConfigurer, чтобы установить местоположение и добавить его в свой контроллер или другой компонент в дополнительном поле. Преобразуйте имя файла в системно-зависимое имя файла с помощью метода File class getCanonicalFile().

1 голос
/ 16 июня 2011

как user625146 сказал, вы можете просто получить системное свойство catalina.home например (некоторый псевдокод)

String prop = System.getProperty("catalina.home");
throw new Error ("msg" + prop + "/webapps/myProperties.properties");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...