【问题标题】:Exception occured while Spring starting.please help me春季开始时发生异常。请帮助我
【发布时间】:2016-12-31 03:06:41
【问题描述】:

IDE:想法 框架:Spring+SringMVC+Mybatis+MongoDB+ActiveMQ 请帮我一把,谢谢。

我添加了其他错误信息。 奇怪的是,当我使用“mvn tomcat7:run”启动项目时,它启动成功了!但是在idea中使用debug/run,就会出现这些错误。

java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.doWithLocalFields(Ljava/lang/Class;Lorg/springframework/util/ReflectionUtils$FieldCallback;)V
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.buildPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:418)

java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Wed Aug 24 15:09:35 CST 2016]; root of context hierarchy

[2016-08-24 15:09:36] --- [WARN] --- [AbstractApplicationContext.java:887] --- [Exception thrown from LifecycleProcessor on context close] --- at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:357) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:884) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:843) at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:581) at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:116) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5124) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5786) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1836) 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:301) 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:618) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:565) 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:301) 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:1468) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) 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$256(TCPTransport.java:683) 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)

这是我的 pom.xml 请看一下,谢谢。

 <spring.version>4.3.2.RELEASE</spring.version>
    <mybatis.version>3.4.1</mybatis.version>
    <mybatis-spring.version>1.3.0</mybatis-spring.version>


    <aspectjweaver.version>1.8.9</aspectjweaver.version>
    <persistence-api.version>1.0.2</persistence-api.version>


    <junit.version>4.12</junit.version>
    <mysql-connector.version>5.1.21</mysql-connector.version>
    <druid.version>1.0.4</druid.version>


    <spring-mongodb.version>1.9.1.RELEASE</spring-mongodb.version>
    <spring-boot.version>1.3.3.RELEASE</spring-boot.version>
    <mongodb.version>3.2.0</mongodb.version>

    <activemq.version>5.13.2</activemq.version>
    <spring-jms.version>4.2.5.RELEASE</spring-jms.version>

【问题讨论】:

  • 看起来你的 pom.xml 中有不兼容的版本:java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.doWithLocalFields(...)
  • 是的,你是对的,但你能告诉我我的 versin 配置有什么问题吗?请。
  • 这不是你完整的 POM。运行mvn dependency:tree 并发布输出。
  • @dunni 抱歉,我的 maven 出了点问题...[ERROR] Plugin org.apache.maven.plugins:maven-dependency-plugin:3.0 or one of its dependencies could not be resolved: Failure to find org.apache.maven.plugins:maven-dependency-plugin:jar:3.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -&gt; [Help 1]
  • 而且很奇怪我用mvn tomcat:run,项目启动成功。这让我疯狂....

标签: java spring mongodb apache spring-mvc


【解决方案1】:

这是同一个库的不同版本的冲突。 运行:

mvn dependency:tree > dep.txt

并检查哪些库是重复的。 然后在 pom.xml 中排除冲突的库(最好是旧版本),通过:

        <dependency>
            <groupId>test</groupId>
            <artifactId>test-art</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>conf-test</groupId>
                    <artifactId>conf-test-err</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

当“conf-test-err”是要排除的旧版本时。在您的情况下,它可能是“org.springframework.orm”。

【讨论】:

  • 我使用 mvn:dependency:tree ,但显示这个.....[ERROR] Plugin org.apache.maven.plugins:maven-dependency-plugin:3.0 or one of its dependencies could not be resolved: Failure to find org.apache.maven.plugins:maven-dependency-plugin:jar:3.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -&gt; [Help 1]
  • 而且很奇怪我用mvn tomcat:run,项目启动成功。这让我疯狂....
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
  • 1970-01-01
  • 2014-12-13
  • 2015-05-18
  • 1970-01-01
  • 2011-10-26
相关资源
最近更新 更多