【问题标题】:Bean creation throws exception at the build timeBean 创建在构建时抛出异常
【发布时间】:2014-04-17 21:35:38
【问题描述】:

大家好,我在构建要部署在 tomcat 中的应用程序时抛出了一个异常,我怀疑 pom.xml 是我在网上找到的来源,依赖关系是导致此异常的原因,无论如何,这是我的堆栈跟踪:

GRAVE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with      
name 'productWebService': Error setting property values; nested exception is   
 org.springframework.beans.PropertyBatchUpdateException; nested   
PropertyAccessExceptions (1) are:

PropertyAccessException 1: org.springframework.beans.MethodInvocationException:    
 Property 'serviceBeans' threw exception; nested exception is   
java.lang.NoSuchMethodError:    
 org.springframework.util.ClassUtils.isCglibProxyClass(Ljava/lang/Class;)Z
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5204)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5199)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.springframework.beans.PropertyBatchUpdateException; nested    
PropertyAccessExceptions (1) are:
PropertyAccessException 1: org.springframework.beans.MethodInvocationException:    
Property 'serviceBeans' threw exception; nested exception is     
java.lang.NoSuchMethodError:   
org.springframework.util.ClassUtils.isCglibProxyClass(Ljava/lang/Class;)Z
at .....    


13 mars 2014 08:56:27 org.apache.catalina.core.StandardContext startInternal
GRAVE: Error listenerStart
13 mars 2014 08:56:27 org.apache.catalina.core.StandardContext startInternal
GRAVE: Erreur de démarrage du contexte [/WebApp] suite aux erreurs précédentes
13 mars 2014 08:56:27 org.apache.catalina.core.ApplicationContext log
INFO: Closing Spring root WebApplicationContext
13 mars 2014 08:56:27 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
13 mars 2014 08:56:27 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
13 mars 2014 08:56:27 org.apache.catalina.startup.Catalina start
INFO: Server startup in 6330 ms

这是我的 pom.xml:

http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 net.ma.s2m 网络应用 战争 1.0-快照 网络应用程序 Maven 网络应用程序 http://maven.apache.org

<properties>
    <cxf.version>3.0.0-milestone2</cxf.version>
    <org.springframework.version>3.0.5.RELEASE</org.springframework.version>
</properties>
<build>
    <finalName>WebApp</finalName>
</build>
<dependencies>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.5.0-RC1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
        <version>${cxf.version}</version>
    </dependency>
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-rt-transports-http</artifactId>
        <version>${cxf.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${org.springframework.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-beans</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

</dependencies>

【问题讨论】:

  • 请添加 mvn 依赖的输出:tree

标签: spring rest maven cxf


【解决方案1】:

最新的Spring版本(4.2.5)也去掉了上述方法。

Unable to deploy the project in Apache tomcat with apache cxf

您必须升级到 Apache CXF 到 3.0 或坚持使用较旧的 Spring 版本(例如 4.1.5)。

【讨论】:

    【解决方案2】:

    很可能您的 jar 文件之一正在调用您使用的 Spring 3.0.5 版本中不存在的函数。

    这也可能是由于 jar 冲突,旧的 jar 文件需要比 3.0.5 更旧的 Spring 版本,而 3.0.5 也不在你的类路径中。

    您可以通过命令行检查您的依赖关系树,以查找预期的 jar 文件作为其他 jar 文件的传递依赖关系以及了解冲突。

    mvn dependency:tree
    

    【讨论】:

    • 嗨,我解决了这个问题。我将 spring 版本升级到 3.2.0,一切正常。我从 pom.xml 文件中删除了依赖项,然后将 CXf Apache 3.0.0 库添加到类路径中,它工作正常,在这里我注意到 spring cxf 正在使用的版本。所以我回到 pom.xml 并添加新版本的 spring。
    【解决方案3】:

    Spring 3.0.5 没有该方法。尝试升级您的春季版本。库之间可能存在一些不兼容。

    【讨论】:

      猜你喜欢
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      相关资源
      最近更新 更多