2013-02-21 109 views
0

我遇到以下错误Bean创建失败

异常发送上下文初始化事件监听器类org.springframework.web.context.ContextLoaderListener的实例:org.springframework.beans.factory.BeanCreationException:错误创建名为'userAuditLogAspect'的bean:注入自动装配依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装入字段:private javax.sql.DataSource com.vzw.aspect.UserAuditLogAspect.dataSource;嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:找不到符合依赖关系的[javax.sql.DataSource]类型的匹配bean:期望至少1个符合此依赖关系自动装配候选资格的bean。依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true),@ org.springframework.beans.factory.annotation.Qualifier(value = topoDataSource)} 相关原因:org.springframework.beans。 factory.BeanCreationException:创建名为'topoDataSource'的bean时出错:bean初始化失败;嵌套的例外是java.lang.NoClassDefFoundError:org.springframework.expression.TypedValue

我的网页XML是无法初始化类:

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>WEB-INF/spring-security.xml, WEB-INF/topoService-servlet.xml</param-value> 
</context-param> 
<!-- Spring Security Filter --> 
<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
<!-- <context-param> 
     <param-name>resteasy.resources</param-name> 
     <param-value>com.vz.myrest.MessageRestService</param-value> 
    </context-param> --> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener>} 

2)toposervice-servlet.xml中

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:aop="http://www.springframework.org/schema/aop" 
    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/jee http://www.springframework.org/schema/jee/spring-jee.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" 
    > 
    <aop:aspectj-autoproxy /> 
    <context:component-scan base-package="com.vzw.context, com.vzw.aspect, com.vzw.logger" /> 

    <jee:jndi-lookup id="topoDataSource" jndi-name="java:/TopoDSJNDI" /> 

    <!--<bean class="com.vzw.context.SpringApplicationContext"></bean> --> 

    <bean id="topoServiceDao" class="com.vzw.topo.dao.TopoServiceDaoImpl"> 
     <property name="dataSource"> 
      <ref bean="topoDataSource" /> 
     </property> 
    </bean> 

</beans> 

3)pom.xml

<dependencies> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxrs</artifactId> 
     <scope>provided</scope> 
     <version>2.3.4.Final</version><!--$NO-MVN-MAN-VER$ --> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-multipart-provider</artifactId> 
     <scope>provided</scope> 
     <version>2.3.4.Final</version><!--$NO-MVN-MAN-VER$ --> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jaxb-provider</artifactId> 
     <scope>provided</scope> 
     <version>2.3.4.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
     <version>3.1.3.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.jboss.resteasy</groupId> 
     <artifactId>resteasy-jackson-provider</artifactId> 
     <scope>provided</scope> 
     <version>2.3.4.Final</version><!--$NO-MVN-MAN-VER$ --> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-web</artifactId> 
     <version>3.1.1.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>3.1.1.RELEASE</version> 
     <classifier>sources</classifier> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>3.1.2.RELEASE</version> 
    </dependency> 
    <!--<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aspects</artifactId> 
     <version>3.1.2.RELEASE</version> </dependency> --> 
    <!-- <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> 
     <version>3.1.2.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> 
     <artifactId>spring-context-support</artifactId> <version>3.1.2.RELEASE</version> 
     </dependency> --> 
    <!-- Spring Security --> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-core</artifactId> 
     <version>3.1.3.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-web</artifactId> 
     <version>3.1.3.RELEASE</version> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.security</groupId> 
     <artifactId>spring-security-config</artifactId> 
     <version>3.1.3.RELEASE</version> 
    </dependency> 
    <!-- Spring Security ends --> 
    <dependency> 
     <groupId>org.jboss.spec.javax.servlet</groupId> 
     <artifactId>jboss-servlet-api_3.0_spec</artifactId> 
     <version>1.0.2.Final</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.annotation</groupId> 
     <artifactId>jsr250-api</artifactId> 
     <version>1.0</version> 
     <type>jar</type> 
     <scope>compile</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.aspectj</groupId> 
     <artifactId>aspectjweaver</artifactId> 
     <version>1.7.0</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-beanutils</groupId> 
     <artifactId>commons-beanutils</artifactId> 
     <version>1.8.3</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-lang</groupId> 
     <artifactId>commons-lang</artifactId> 
     <version>2.6</version> 
    </dependency> 
    <dependency> 
     <groupId>log4j</groupId> 
     <artifactId>log4j</artifactId> 
     <version>1.2.17</version> 
    </dependency> 
</dependencies> 

问题是一旦我添加安全依赖我得到的exceptio ñ。它与上下文有关但我不确定。 任何指针都会有帮助。

感谢, 阿米特

回答

0

一些Spring的依赖具有版本3.1.1.RELEASE别人有3.1.2.RELEASE3.1.3.RELEASE。始终使用相同的Spring版本。你应该在你的maven pom中定义一个spring.version属性,而不是手动输入值。

检查应用程序运行的类路径(例如,使用mvn -X运行测试)并确保没有不一致性,例如不同的Spring jar版本或具有不同版本号的重复jar。