1

我正在将spring我们OSGi项目的版本升级到 spring 4.2.x。

我已经删除了 Spring DM 依赖项并添加了 Gemini Blueprint 依赖项 ( org.eclipse.gemini.blueprint.core, org.eclipse.gemini.blueprint.extender, org.eclipse.gemini.blueprint.io),这些依赖项在 Virgo RT 服务器中处于 ACTIVE 状态。
我添加了spring-security-config依赖项,它也处于活动状态。

但我面临以下问题

org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:找不到 XML 模式命名空间的 Spring NamespaceHandler [ http://www.springframework.org/schema/security]违规资源: URL [bundleentry://157。 fwk1212103909/META-INF/spring/applicationContext-security.xml]

我的 applicationContext-security.xml 文件是这样的

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:security="http://www.springframework.org/schema/security"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/security
       http://www.springframework.org/schema/security/spring-security.xsd">

  <security:global-method-security pre-post-annotations="enabled" run-as-manager-ref="runAsManager"
secured-annotations="enabled">
    <security:expression-handler ref="expressionHandler" />
  </security:global-method-security> 

  ... 

</beans>

我使用了xsdwith 版本。同样的结果。

知道是什么导致了这个问题吗?

4

2 回答 2

0

如果您说明您使用的是哪个版本的 Virgo,将会有所帮助。你知道 Virgo 3.7.0 包含 Spring 4 的事实吗?

于 2017-04-21T23:38:07.030 回答
0

我必须在我的项目中的 META-INF/spring.handlers 文件中添加以下行。

http\://www.springframework.org/schema/security=org.springframework.security.config.SecurityNamespaceHandler
于 2017-04-24T07:28:48.307 回答