我在我的web應用程序中實現了spring安全框架。 我的所有必需的彈簧安全jar文件在我的ear.This耳朵還包含我的web應用程序war文件。我創建了另一個jar文件駐留在耳朵本身,並具有所有與安全相關的代碼(如自定義提供程序等),所以我可以在另一個web應用程序中使用它。這個安全jar文件也具有即時消息導入到我的web應用程序的spring security bean配置文件,但它給我例外,同時在jboss中部署ear.Follwoing是例外&我的代碼詳細信息...無法從URL位置導入Spring安全bean配置文件
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應用程序的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駐留在包含在耳並以我的web應用程序的MANIFEST.MF提到security.jar。
請指教我該怎麼辦我正在使用Spring 3.0.5發行版。 以下是我的耳朵文件結構:
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但仍其無法找到在耳邊的lib目錄中的Spring Security罐子。 當我複製了與mySecurity.jar相同級別的所有彈簧安全罐(意味着直接在ear而不是lib文件夾中)時,它會識別並正常工作。
但我想保留所有我的第三方jar在ear的lib目錄中。這是一個jboss特定的問題嗎?
請問您可以發佈security.jar的結構嗎? META-INF在那個jar的根目錄下? – 2011-05-25 09:43:57
security.jar在同一級別(罐子的根目錄)有com&META-INF – PushkarT 2011-05-25 10:05:25
你將這部署到什麼應用程序服務器? – 2011-05-25 11:27:06