Невозможно прочитать файл свойств по свойству-заполнителю в Spring. Получение Система не может найти указанный файл ошибка
Когда я пытался загрузить файл свойств, который находится в исходном коде, у меня возникают проблемы. Но когда я попытался загрузить файл свойств извне, он работал нормально. Упоминается как рабочий, так и не рабочий код ниже. Может ли кто-нибудь помочь мне в этом. Я очень новая пчела к весне:)
Единственное изменение, которое я сделал для загрузки файла свойств из внешнего и внутри проекта, это объявление местоположения в контексте: свойство-заполнитель.
Настроил пружинный контекст для загрузки файла свойств из внешнего источника, как показано ниже. Это сработало очень хорошо.
При загрузке файла свойств из внешне - работающего:
<context:property-placeholder location="file:///C:/Test/Data/WebDetails.properties"
ignore-resource-not-found="true" ignore-unresolvable="true" order="1" />
Я настроил свой файл свойств для загрузки из проекта в контексте весны, как показано ниже - Не работает:
<bean id="webProperties" class="com.test.run.WebProperties" />
<context:property-placeholder location="file:./src/main/resources/WebDetails.properties"
ignore-resource-not-found="true" ignore-unresolvable="true" order="1" />
Мой WebDetails.properties находится в Maven Project в каталоге src/main/resources. И файл выглядит так
url = www.testresponse.com
space = SampleSpace
И я сопоставляю значения свойств в WebProperties, как показано ниже
@Component
public class WebProperties{
@Value("{url}") public String url;
@Value("{space}") public String space;
//getters
}
Мой основной класс это:
public class ProcessWeb {
ApplicationContext context;
WebProperties webProperties;
}
public ProcessWeb () {
context = new ClassPathXmlApplicationContext("web-context.xml");
webProperties= (WebProperties) context.getBean("webProperties");
}
public void execute(String[] args){
webProperties.getURL()
}
public static void main(String args[])
{
ProcessWeb main = new ProcessWeb ();
main.execute();
}
Когда я выполняю свой основной класс, когда загружаю свойства из кода. Я получаю сообщение об ошибке как ${url} (система не может найти указанный файл.)
Как мне настроить путь к моему местоположению в заполнителе?
Дополнительная информация: Основной класс ProcessWeb будет вызываться из командного файла. После развертывания кода, когда мы выполняем этот командный файл из командной строки, я получаю ту же проблему и для внешних свойств. Нужно ли менять конфигурацию? Мы упаковываем наш код в файлы JAR
1 ответ
Использование classpath
лайк:
location="classpath:WebDetails.properties"