我一直在努力解决这个错误。 我在eclipse中有一个基于maven的项目。我正在尝试在Tomcat中部署应用程序。 我的版本是: Java:JDK 1.7.0_55 Eclipse:Luna Maven:3.2.1 Tomcat:7.0.54
虽然maven正确创建war文件并成功部署在独立的Tomcat中。当我尝试在Eclipse中发布它时,这同样不起作用。
我收到以下错误。
SEVERE: Context initialization failed
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.test.testhr.dao.EmployeeDAO] for bean with name 'employeeDAO' defined in ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: com.test.testhr.dao.EmployeeDAO
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1327)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:594)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1396)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:959)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:683)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
at org.springframewor
我的web.xml如下所示
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>aristo</param-value>
</context-param>
<servlet>
<servlet-name>FacesServlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>FacesServlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>com.test.testhr.core.ui.servlet.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
</web-app>
我的applicationContext.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:tx="http://www.springframework.org/schema/tx"
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/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="loadTimeWeaver">
<bean
class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" />
</property>
<property name="persistenceXmlLocation" value="WEB-INF/persistence.xml" />
<property name="persistenceUnitName" value="myUnit" />
<property name="persistenceProviderClass" value="org.hibernate.ejb.HibernatePersistence" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="showSql">true</prop>
</props>
</property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager"
proxy-target-class="false" />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="dataSource" ref="dataSource" />
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@//localhost:1521/orclktlt" />
<property name="username" value="testhr" />
<property name="password" value="testhr" />
</bean>
<context:component-scan base-package="com" />
<!-- Declare DAO -->
<bean id="genericDAO" class="com.test.testhr.dao.GenericDAO"
abstract="true" />
<bean id="employeeDAO" class="com.test.testhr.dao.EmployeeDAO"
parent="genericDAO" />
<bean id="userDAO" class=" com.test.testhr.dao.UserDAO" parent="genericDAO" />
<bean id="departmentDAO" class=" com.test.testhr.dao.DepartmentDAO"
parent="genericDAO" />
<bean id="streamDAO" class="com.test.testhr.dao.StreamDAO"
parent="genericDAO" />
<bean id="lookupCodeDAO" class="com.test.testhr.dao.LookupCodeDAO"
parent="genericDAO" />
<!-- Declare Services -->
<bean id="employeeService" class="com.test.testhr.service.employee.EmployeeService">
<!-- <property name="employeeDAO" ref="employeeDAO" /> -->
</bean>
<bean id="logInService" class="com.test.testhr.service.authentication.LogInService" />
<bean id="departmentService" class="com.test.testhr.service.settings.DepartmentService">
<!-- <property name="departmentDAO" ref="departmentDAO" /> -->
</bean>
<bean id="streamService" class="com.test.testhr.service.settings.StreamService">
<!-- <property name="streamDAO" ref="streamDAO" /> -->
</bean>
<bean id="lookupCodeService" class="com.test.testhr.service.settings.LookupCodeService">
<!-- <property name="lookupCodeDAO" ref="lookupCodeDAO" /> -->
</bean>
<bean id="userService" class="com.test.testhr.service.user.UserService">
<!-- <property name="userDAO" ref="userDAO" /> -->
</bean>
<!-- Other utility classes -->
<!-- <bean id="lookupCodeCacheUtil" class="com.test.testhr.cache.util.LookupCodeCacheUtil"/> -->
<!-- <bean id="variableContext" class="com.test.testhr.system.VariableContext"
scope="prototype" /> -->
<!-- Security configuration -->
<!-- <bean id="abstractEncrypptor" class="com.test.testhr.security.encryption.AbstractEncrypptor"
abstract="true"> -->
<!-- <property name="password" value="test" /> -->
<!-- <property name="pswdIterations" value="65536" /> -->
<!-- <property name="keySize" value="256" /> -->
<!-- </bean> -->
</beans>
有人可以帮忙吗?
答案 0 :(得分:1)
由于:
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [com.test.testhr.dao.EmployeeDAO]
意味着无法找到com.test.testhr.dao.EmployeeDAO.class
,您是否检查过这个类在IDE Maven插件生成的战争中不存在?