spring-saml 1.0.2-RELEASEで私のSpring設定に問題があります。Beanが見つかりませんspring-saml
application.context.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<context:component-scan base-package="smc.services.*;smc.repositories.*"/>
<import resource="samlSecurityContext.xml"/>
...
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myBean' defined in file [C:\mypath\myBean.class]: Unsatisfied dependency expressed through constructor argument with index 0 of type [java.util.Map]: : Cannot find class [org.springframework.security.saml.metadata.MetadataGeneratorFilter] for bean with name 'metadataGeneratorFilter' defined in ServletContext resource [/WEB-INF/config/samlSecurityContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.security.saml.metadata.MetadataGeneratorFilter; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.security.saml.metadata.MetadataGeneratorFilter] for bean with name 'metadataGeneratorFilter' defined in ServletContext resource [/WEB-INF/config/samlSecurityContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.security.saml.metadata.MetadataGeneratorFilter
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:738) ~[spring-beans-3.2.6.RELEASE.jar:3.2.6.RELEASE]
...
私の知る限り見ることができるように
、私はこのように定義された豆MetadataGeneratorFilterを、見つけることができませんでした:これはエラーです
samlSecurityContext.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<!-- Scan for auto-wiring classes in spring saml packages -->
<context:component-scan base-package="org.springframework.security.saml"/>
<!-- Filter automatically generates default SP metadata -->
<bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter">
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.MetadataGenerator">
<property name="extendedMetadata">
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
<property name="idpDiscoveryEnabled" value="true"/>
</bean>
</property>
</bean>
</constructor-arg>
</bean>
...
私は、サンプルプロジェクトから例を取ったが、私はABわかりません私のSpringのバージョンとの互換性を保ちます。これは私のpom.xmlです:
<spring.version>3.2.6.RELEASE</spring.version>
<spring.security.version>3.2.0.RELEASE</spring.security.version>
...
<dependency>
<groupId>org.springframework.security.extensions</groupId>
<artifactId>spring-security-saml2-core</artifactId>
<version>1.0.2.RELEASE</version>
</dependency>
私のIDEは... org.springframework.security.samlに言及「というパッケージで定義されたBeanはありません」と言うので、私は問題がで関連していることをかなり確信しています私の側でいくつかの春の構成が、残念ながら、私は間違っているか分からなかった。どんな手掛かり?前もってありがとう
Thumbルール:Bean作成エラーの最後の部分を確認します。これは 'java.lang.ClassNotFoundException:org.springframework.security.saml.metadata.MetadataGeneratorFilter'と言う。あなたのクラスパスにクラス 'MetadataGeneratorFilter'もありますか? (たぶん依存関係の問題) –
うん、それは問題だった。ありがとう! – MarcosTonina