Невозможно прочитать файл свойств по свойству-заполнителю в 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"
Другие вопросы по тегам