配置问题java.lang.NoClassDefFoundError
我是使用两个jdbc连接不同的数据库:如:jdbc:mysql://X.X.X.X:3306/dome1?characterEncoding=utf-8&allowMultiQueries=true 和jdbc:mysql://X.X.X.X:3306/dome2?characterEncoding=utf-8&allowMultiQueries=true
配置两个连接池
报错信息:
2015-7-24 14:26:17 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.tv189.core.web.ContextLoaderListener
java.lang.NoClassDefFoundError: IllegalName: com.tv189.elip/ax/user/service/dao/AXUserAnswerCalcDao
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:476)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:625)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2854)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.tv189.core.util.ClassUtil.findClasses(ClassUtil.java:79)
at org.tv189.core.util.ClassUtil.findClasses(ClassUtil.java:31)
at org.tv189.core.ResourceScanHelper.scan(ResourceScanHelper.java:20)
at org.tv189.core.web.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:19)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1060)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:759)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2015-7-24 14:26:17 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2015-7-24 14:26:17 org.apache.catalina.core.StandardContext start
严重: Context [/message_processor] startup failed due to previous errors
配置文件:
<bean id="elip-ax-dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${elip.ax.jdbc.driverClassName}" />
<property name="url" value="${elip.ax.jdbc.url}" />
<property name="username" value="${elip.ax.jdbc.username}" />
<property name="password" value="${elip.ax.jdbc.password}" />
<property name="maxActive" value="${elip.ax.jdbc.maxActive}" />
<property name="maxWait" value="${elip.ax.jdbc.maxWait}" />
<property name="maxIdle" value="${elip.ax.jdbc.maxIdle}" />
<property name="removeAbandoned" value="${elip.ax.jdbc.removeAbandoned}" />
<property name="removeAbandonedTimeout" value="${elip.ax.jdbc.removeAbandonedTimeout}" />
<property name="logAbandoned" value="${elip.ax.jdbc.logAbandoned}" />
<property name="initialSize" value="1" />
<property name="defaultAutoCommit" value="true" />
<property name="validationQuery" value="SELECT 1" />
<!-- <property name="testOnCreate" value="true" /> -->
<property name="testOnBorrow" value="true" />
<property name="testOnReturn" value="true" />
</bean>
<!-- sessionFactory 定义 -->
<bean id="elip_ax_sessionFactory"
class="org.tv189.core.db.hibernate.annotation.AnnotationSessionFactoryBeanWithJar">
<property name="dataSource">
<ref bean="elip-ax-dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${elip.ax.hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${elip.ax.hibernate.show_sql}</prop>
<prop key="hibernate.max_fetch_depth">${elip.ax.hibernate.max_fetch_depth}</prop>
<prop key="hibernate.jdbc.fetch_size">${elip.ax.hibernate.jdbc.fetch_size}</prop>
<prop key="hibernate.jdbc.batch_size">${elip.ax.hibernate.jdbc.batch_size}</prop>
<prop key="hibernate.jdbc.use_scrollable_resultset">${elip.ax.hibernate.jdbc.use_scrollable_resultset}</prop>
<!-- <prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop> -->
<prop key="hibernate.cache.use_second_level_cache">${elip.ax.hibernate.cache.use_second_level_cache}</prop>
</props>
</property>
<!-- 如要采用注解方式建立映射,所有对象须放在此包下 -->
<!-- <property name="packagesToScan" value="com/tv189/elip/user/service/entity"></property> -->
<property name="jarResourcesToScan">
<list>
<value>/WEB-INF/lib/elipSyncAxAnswer.jar</value>
</list>
</property>
</bean>
<!-- 开启事务注解机制 -->
<bean id="elip_ax_transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="elip_ax_sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="elip_ax_transactionManager"
proxy-target-class="true" />
<bean id="axUserAnswerDao" class="com.tv189.elip.ax.user.service.dao.AXUserAnswerDao">
<property name="sessionFactory" ref="elip_ax_sessionFactory" />
</bean>
<bean id="axUserErrorDao" class="com.tv189.elip.ax.user.service.dao.AXUserErrorDao">
<property name="sessionFactory" ref="elip_ax_sessionFactory" />
</bean>
<bean id="axUserAnswerCalcDao" class="com.tv189.elip.ax.user.service.dao.AXUserAnswerCalcDao">
<property name="sessionFactory" ref="elip_ax_sessionFactory" />
</bean>
<bean id="axAnswerProcessor" class="com.tv189.elip.ax.user.service.processor.AXAnswerProcessor">
<property name="axUserAnswerDao" ref="axUserAnswerDao" />
<property name="axUserErrorDao" ref="axUserErrorDao" />
<property name="axUserAnswerCalcDao" ref="axUserAnswerCalcDao" />
</bean>