Проблема с конфигурационным файлом Spring - PullRequest
0 голосов
/ 02 декабря 2011

Я создаю библиотеку (набор классов), которая использует библиотеку Spring и файл context-application.xml (для анализа ответа REST с использованием Marshalling).

В этот момент я включил jar в свой проект и пытаюсь вызвать один из этих классов, но он сообщает мне, что файл context-application.xml отсутствует.

Я пытаюсь загрузить контекст приложения, используя:

ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application-context.xml");

Не очень понятно (я новичок в Spring Framework), куда поместить этот файл, используемый моей флягой.

Возможно ли это? Кто-нибудь может мне помочь?

Ответы [ 2 ]

2 голосов
/ 02 декабря 2011

Это должно быть в корне вашей CLASSPATH. В вашем случае - корневой каталог файла JAR. Если вы используете maven - это папка /src/main/resources.

1 голос
/ 02 декабря 2011

Если я правильно понимаю, вы хотите использовать файл XML из jar, который находится за пределами вашего jar и в основном проекте, который содержит файл jar? Если так, то это не очень хорошая практика, так как в этом случае ваш jar-файл будет зависеть от приложения, поэтому не будет действительно распространяться, так какой смысл вообще иметь jar-файл? Если вы посмотрите на реализацию CXF JAX-RS, то это хороший пример того, как правильно ее решить. У него довольно противоположный подход. CXF имеет несколько собственных весенних XML-файлов, которые должны быть включены из основного веб-приложения, например:

  <import resource="classpath:META-INF/cxf/cxf.xml"/>
  <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

таким образом вы можете определить свои основные классы веб-приложений и ваши jar-классы в одном и том же XML-файле. Полный пример здесь:

http://cxf.apache.org/docs/jax-rs.html#JAX-RS-JAXRSandSpringAOP

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