我在我的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