Я внедряю Spring Security Framework в своем веб-приложении.У меня есть все необходимые файлы jar безопасности Spring в моем ухе. Это ухо также содержит мой war-файл веб-приложения. Я создал другой файл jar, который находится непосредственно в ear и содержит весь код, связанный с безопасностью (например, настраиваемые поставщики и т. Д.), Чтобыя могу использовать его в другом веб-приложении в будущем. Этот файл jar безопасности также содержит файл конфигурации bean-компонентов Spring, который я импортирую в мое веб-приложение, но он дает мне исключения при развертывании ear в jboss. Исключение составляют мои детали кода....
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: IOException
parsing XML document from class path resource [META-INF/authbeans.xml]; nested
exception is java.io.FileNotFoundException: class path resource [META-
INF/authbeans.xml] cannot be opened because it does not exist at
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions
(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions
(XmlBeanDefinitionReader.java:302)
at
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.
loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.
loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.
importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:186)
... 154 more
Ниже приведена запись web.xml моего веб-приложения
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext.xml
</param-value>
</context-param>
applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:sec="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<import resource="classpath:META-INF/authbeans.xml" />
</beans>
Этот файл authbeans.xml находится в безопасности.jar, который включен в ear и также упоминается в MANIFEST.MF моего веб-приложения.
Пожалуйста, подскажите, что мне делать, я использую релиз Spring 3.0.5.Ниже приведена структура моего файла ear:
MyEar
|-- lib\ (contains all spring security jar files)
|
|-- mySecurity.jar (contains all security related custom code also authbeans.xml)
|
|-- myWar
|-- META-INF/MANIFEST.MF (entries for spring security jars & mySecurity.jar)
|
|-- WEB-INF
|-- applicationContext.xml (authbeans.xml included)
|-- lib\ (local jar files)
Я пробовал это с JBOSS 5.0.1, и теперь приложение может найти файл authbeans.xml, но все еще не может найти файлы безопасности Spring в каталоге lib уха.Когда я скопировал все весенние файлы безопасности на том же уровне, что и mySecurity.jar (имеется в виду непосредственно в ухе, а не в папке lib), он распознает и работает нормально.
Но я хочу, чтобы все мои сторонние банки находились в ухе libЭто специфическая проблема jboss ???