【问题标题】:java.lang.reflect.MalformedParameterizedTypeException when deploying war file in Tomcat在Tomcat中部署war文件时出现java.lang.reflect.MalformedParameterizedTypeException
【发布时间】:2013-09-26 07:56:06
【问题描述】:

通过 tomcat 7.0.4 版部署时出现以下异常。我正在使用java 1.7。似乎它可以正常使用 jdk 1.6。

2013-09-26 13:03:58,154 ERROR [org.springframework.web.context.ContextLoader] -
Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean wit
h name 'cxf' defined in class path resource [META-INF/cxf/cxf.xml]: Initializati
on of bean failed; nested exception is java.lang.reflect.MalformedParameterizedT
ypeException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBean
Factory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getOb
ject(AbstractBeanFactory.java:264)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistr
y.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBe
an(AbstractBeanFactory.java:261)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:185)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean
(AbstractBeanFactory.java:164)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.
getBeansOfType(DefaultListableBeanFactory.java:308)
        at org.springframework.context.support.AbstractApplicationContext.getBea
nsOfType(AbstractApplicationContext.java:947)
        at org.springframework.context.support.AbstractApplicationContext.regist
erListeners(AbstractApplicationContext.java:701)
        at org.springframework.context.support.AbstractApplicationContext.refres
h(AbstractApplicationContext.java:377)

google了一下,发现它与spring jar的版本冲突有关。

我正在使用以下弹簧罐。

spring-2.5.5 - tried with 2.5.6 also
spring-aop-2.5.6
spring-beans-2.5.6
spring-context-2.5.6
spring-core-2.5.6
spring-jdbc-3.1.1.RELEASE - tried with 2.5.6 also
spring-orm-3.1.1.RELEASE - tried with 2.5.6 also
spring-transaction-3.1.1.RELEASE - tried with 2.5.6 also
spring-tx-3.1.1.RELEASE - tried with 2.5.6 also

Following are the cxf jars used.

cxf-api-2.6.0
cxf-bundle-jaxrs-2.6.0
cxf-rt-bindings-soap-2.6.0
cxf-rt-bindings-xml-2.6.0
cxf-rt-core-2.6.0
cxf-rt-databinding-jaxb-2.6.0
cxf-rt-frontend-jaxws-2.6.0
cxf-rt-frontend-simple-2.6.0
cxf-rt-transports-http-2.6.0
cxf-rt-ws-addr-2.6.0
cxf-rt-ws-policy-2.6.0

尝试替换 spring-aop-2.5.6、spring-beans-2.5.6、spring-context-2.5.6 ,spring-core-2.5.6 和 3.1.1 也是。没有帮助。

曾尝试删除元数据并检查新项目、干净构建等。但似乎没有任何效果。有人可以告诉我摆脱这种情况的方法。坚持了两天。

【问题讨论】:

  • 能把配置文件(cxf.xml)的内容放进去吗?
  • 对于初学者,请停止混合 spring 版本...使用 2.5.6 或 3.1.1 但不要混合 jars... spring.jar 已经包含 spring-*.jars 中的所有内容(并且在 Spring 3 之后不再存在)。

标签: java spring web-services


【解决方案1】:

我在运行时遇到了同样的异常。经过一天的研究,我发现我的项目使用的是spring 2.5.6。 ,这是我的 spring-jdbc 在 3.2.2.RELEASE 上时的最新版本。我无法使用 spring-jdbc 2.5.6,因为我正在使用 2.5.6 中不可用的一些功能。我解决这个问题的方法只是在 CLASSPATH 中将 spring-jdbc-3.2.2.RELEASE.jar 移动到 spring-2.5.6.jar 之前。异常发生了。希望这对那里的一些人有所帮助。

【讨论】:

    【解决方案2】:

    从 java 6 -> 7 迁移时,我们遇到了完全相同的问题,结果证明是 commons-pool 版本。 把它从 commons-pool-1.5.7.jar 到 commons-pool-1.6.jar 一切都很好。

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 2015-05-08
      • 1970-01-01
      • 2018-03-13
      • 2020-03-18
      • 2023-03-23
      • 1970-01-01
      相关资源
      最近更新 更多