java reflectionutils,java.lang.NoSuchMethodError:org.springframework.util.ReflectionUtils.clearCache...

I faced with a problem, was google it for a half of this day. Nothing could help me. It was working. But after that something has happened and i didn't capture that.

Here are TomCat Catalina Log

31-Jan-2016 00:35:27.278 INFO [RMI TCP Connection(2)-127.0.0.1] null.null HHH000412: Hibernate Core {5.0.7.Final}

31-Jan-2016 00:35:27.282 INFO [RMI TCP Connection(2)-127.0.0.1] null.null HHH000205: Loaded properties from resource hibernate.properties: {hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.show_sql=true, hibernate.bytecode.use_reflection_optimizer=false, hibernate.hbm2ddl.auto=update}

31-Jan-2016 00:35:27.283 INFO [RMI TCP Connection(2)-127.0.0.1] null.null HHH000021: Bytecode provider name : javassist

31-Jan-2016 00:35:27.376 INFO [RMI TCP Connection(2)-127.0.0.1] null.null HCANN000001: Hibernate Commons Annotations {5.0.1.Final}

31-Jan-2016 00:35:28.170 INFO [RMI TCP Connection(2)-127.0.0.1] . HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect

31-Jan-2016 00:35:29.632 INFO [RMI TCP Connection(2)-127.0.0.1] null.null HHH000228: Running hbm2ddl schema update

31-Jan-2016 00:35:30.331 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file

31-Jan-2016 00:35:30.349 SEVERE [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors

**31-Jan-2016 00:35:30.377 WARNING [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ROOT] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.**

31-Jan-2016 00:35:32.709 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/apache-tomcat-8.0.24/webapps/manager

31-Jan-2016 00:35:32.907 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/apache-tomcat-8.0.24/webapps/manager has finished in 197 ms

Localhost Log

java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.clearCache()V

at org.springframework.context.support.AbstractApplicationContext.resetCommonCaches(AbstractApplicationContext.java:879)

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:563)

at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)

at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)

at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)

at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)

at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)

at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1648)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)

at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)

at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:463)

at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:413)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)

at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)

at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)

at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1466)

at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)

at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1307)

at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1399)

at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:828)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:497)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323)

at sun.rmi.transport.Transport$1.run(Transport.java:200)

at sun.rmi.transport.Transport$1.run(Transport.java:197)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:196)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$254(TCPTransport.java:683)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler$$Lambda$1/2146013565.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

My DatabaseConfig

@Configuration

@EnableJpaRepositories("cards.server.repository")

@EnableTransactionManagement

@ComponentScan(value = "cards.server")

@PropertySource({

"classpath:database.properties",

"classpath:hibernate.properties"}

)

public class DatabaseConfig extends IOException {

@Autowired

private Environment env;

@Bean(name = "entityManager")

public LocalContainerEntityManagerFactoryBean entityManagerFactory() {

LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();

em.setDataSource(dataSource());

em.setPackagesToScan(env.getRequiredProperty("db.entity.package"));

em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());

em.setJpaProperties(getHibernateProperties());

return em;

}

@Bean(name = "dataSource")

public DataSource dataSource() {

BasicDataSource ds = new BasicDataSource();

ds.setUrl(env.getRequiredProperty("db.url"));

ds.setDriverClassName(env.getRequiredProperty("db.driver"));

ds.setUsername(env.getRequiredProperty("db.username"));

ds.setPassword(env.getRequiredProperty("db.password"));

ds.setInitialSize(Integer.valueOf(env.getRequiredProperty("db.initialSize")));

ds.setMinIdle(Integer.valueOf(env.getRequiredProperty("db.minIdle")));

ds.setMaxIdle(Integer.valueOf(env.getRequiredProperty("db.maxIdle")));

ds.setTimeBetweenEvictionRunsMillis(Long.valueOf(env.getRequiredProperty("db.timeBetweenEvictionRunsMillis")));

ds.setMinEvictableIdleTimeMillis(Long.valueOf(env.getRequiredProperty("db.minEvictableIdleTimeMillis")));

ds.setTestOnBorrow(Boolean.valueOf(env.getRequiredProperty("db.testOnBorrow")));

ds.setValidationQuery(env.getRequiredProperty("db.validationQuery"));

return ds;

}

@Bean(name = "transactionManager")

public PlatformTransactionManager platformTransactionManager() {

JpaTransactionManager manager = new JpaTransactionManager();

manager.setEntityManagerFactory(entityManagerFactory().getObject());

return manager;

}

public Properties getHibernateProperties() {

Properties properties = new Properties();

properties.getProperty(env.getProperty("hibernate.dialect"));

properties.getProperty(env.getProperty("hibernate.show_sql"));

properties.getProperty(env.getProperty("hibernate.hbm2ddl.auto"));

return properties;

}

}

pom.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

cards.server

cards.server

1.0-SNAPSHOT

war

4.2.2.RELEASE

3.1.0

1.9.2.RELEASE

5.0.7.Final

5.1.38

2.1.1

1.1

9.1-901-1.jdbc4

4.12

4.2.4.RELEASE

4.1.6.RELEASE

org.springframework

spring-core

${spring-core.version}

org.springframework

spring-webmvc

${spring-core.version}

org.springframework

spring-webmvc

${spring-webmvc.version}

javax.servlet

javax.servlet-api

${javax.servlet-api.version}

org.springframework.data

spring-data-jpa

${spring-data-jpa.version}

org.hibernate

hibernate-entitymanager

${hibernate-entitymanager.version}

mysql

mysql-connector-java

${mysql-connector-java.version}

org.apache.commons

commons-dbcp2

${commons-dbcp2.version}

javax.transaction

jta

${jta.version}

junit

junit

${junit.version}

org.springframework

spring-test

${spring-test.version}

Hoping for your help,

Thank you.

解决方案

Well, java.lang.NoSuchMethodError means - incompatible versions in pom.xml

Fix. pom.xml:

4.1.6.RELEASE

3.1.0

1.9.2.RELEASE

5.0.7.Final

5.1.34

2.1.1

1.1

4.11

4.1.6.RELEASE

4.1.6.RELEASE

1.2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值