zoukankan      html  css  js  c++  java
  • 坑爹的myeclipse 的tomcat 重部署 redeploy !

    启动 tomcat 出现:

    Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [springcontext-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.logicalcobwebs.proxool.ConnectionPoolDefinition.setJmx(Z)V
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:187)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1213)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1053)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1018)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:566)
    ... 39 more
    Caused by: java.lang.NoSuchMethodError: org.logicalcobwebs.proxool.ConnectionPoolDefinition.setJmx(Z)V
    at org.logicalcobwebs.proxool.ProxoolDataSource.registerPool(ProxoolDataSource.java:133)
    at org.logicalcobwebs.proxool.ProxoolDataSource.getConnection(ProxoolDataSource.java:94)
    at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:139)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl$ConnectionProviderJdbcConnectionAccess.obtainConnection(JdbcServicesImpl.java:279)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:124)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1930)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBuilder.buildSessionFactory(LocalSessionFactoryBuilder.java:372)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:454)
    at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:439)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
    ... 50 more

    开始只有0.8.3, 出现ClassNotFound: ProxoolDataSource xxx

    后面 去掉了0.8.3,加上了 0.9.0RC3,那个错误没有了,又出现了新的错误。。。

    真是奇怪啊! 难道需要换回0.8 ? 。。 可是, 我查找 这个方法也是存在的啊!

    重新部署了, 还是一样的啊!

    D:codewsspring.metadata.me_tcatwebappsktb2WEB-INFlib 一看, 竟然有多个 proxool 的jar , 那个0.8 的还在! 我明白了!

    找那个的时候, 系统找到了0.9, 但是找那个方法的时候, 加载到了 0.8 的那个, 于是。。。

    把D:codewsspring.metadata.me_tcatwebappsktb2WEB-INFlib 下的 0.8 的jar 删除就好了!

    myeclipse 真是 坑爹!

    为什么会这样!!

    其实之前也有研究过, myeclipse 的 redeploy 有三种方式, 分别是

    默认就是 不删除, 即使是没用的jar —— classpath 中不存在的, 也有保留。 于是就发生这样的悲剧。。。

  • 相关阅读:
    nginx入门
    nginx负载均衡算法
    Nginx+Tomcat搭建高性能负载均衡集群
    简单搭建dubbo
    webservice和restful的区别
    webservice、httpClient、dubbo的区别
    sublime 插件
    【exam answer 1】
    给定一个 1-100 的整数数组,请找到其中缺少的数字。
    Hibernate中clear()、evict()、flush()的方法使用说明
  • 原文地址:https://www.cnblogs.com/FlyAway2013/p/6298273.html
Copyright © 2011-2022 走看看