简体   繁体   English

java.lang.ClassNotFoundException:org.springframework.core.convert.support.PropertyTypeDescriptor

[英]java.lang.ClassNotFoundException: org.springframework.core.convert.support.PropertyTypeDescriptor

When I am trying to start the application it throws an exception shown in stack trace. 当我尝试启动应用程序时,它将引发堆栈跟踪中显示的异常。 I'm using: 我正在使用:

  • spring version 3.2.4.RELEASE 春季版本3.2.4.RELEASE
  • spring Transaction version 3.2.4.RELEASE 春季交易版本3.2.4.RELEASE
  • spring.security.version 3.0.5.RELEASE spring.security.version 3.0.5.RELEASE
  • hibernate.version 4.2.1.Final hibernate.version 4.2.1最终版
  • JPA 1.0 JPA 1.0

I knew that PropertyTypeDescriptor is removed from spring. 我知道PropertyTypeDescriptor已从春季删除。 But I dont know how to handle this I'm stuck in this from last 2 days. 但我不知道该如何处理,我从最近两天开始就陷入了困境。 Please suggest. 请提出建议。

Stacktrace: 堆栈跟踪:

 2013-11-19 22:25:17 ERROR TestContextManager:324 - Caught exception
 while allowing TestExecutionListener
 [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@109cdd5]
 to prepare test instance
 [test.clickbuff.controller.TestUserController@893f08]
 java.lang.IllegalStateException: Failed to load ApplicationContext     at
 org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:308)
    at
 org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:109)
    at
 org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:75)
    at
 org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:321)
    at
 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:220)   at
 org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:301)
    at
 org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
    at
 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:303)
    at
 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:240)
    at
 org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)  at
 org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)    at
 org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)  at
 org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)    at
 org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)   at
 org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
    at
 org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309)    at
 org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:180)
    at
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
    at
 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
 Caused by: org.springframework.beans.factory.BeanCreationException:
 Error creating bean with name
 'org.springframework.context.annotation.internalConfigurationAnnotationProcessor':
 Instantiation of bean failed; nested exception is
 java.lang.NoClassDefFoundError:
 org/springframework/core/convert/support/PropertyTypeDescriptor    at
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:965)
    at
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911)
    at
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
    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:194)
    at
 org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:398)
    at
 org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:594)
    at
 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:407)
    at
 org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:84)
    at
 org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:1)
    at
 org.springframework.test.context.TestContext.loadApplicationContext(TestContext.java:280)
    at
 org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:304)
    ... 24 more Caused by: java.lang.NoClassDefFoundError:
 org/springframework/core/convert/support/PropertyTypeDescriptor    at
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:960)
    ... 38 more Caused by: java.lang.ClassNotFoundException:
 org.springframework.core.convert.support.PropertyTypeDescriptor    at
 java.net.URLClassLoader$1.run(URLClassLoader.java:366)     at
 java.net.URLClassLoader$1.run(URLClassLoader.java:355)     at
 java.security.AccessController.doPrivileged(Native Method)     at
 java.net.URLClassLoader.findClass(URLClassLoader.java:354)     at
 java.lang.ClassLoader.loadClass(ClassLoader.java:423)  at
 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)  at
 java.lang.

ClassLoader.loadClass(ClassLoader.java:356)     ... 39 more

Application context: 应用环境:

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:task="http://www.springframework.org/schema/task" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">

    <import resource="application-config.xml" />
    <import resource="spring-database.xml" />
    <import resource="Spring-Mail.xml" />
    <import resource="spring-security.xml" />


    <!--Setting Context Annotation Driven -->
    <context:annotation-config />


    <!-- Controller's Base package -->
    <context:component-scan base-package="training.impetus.tp" />


    <!-- Scheduler Annotation Driven -->
    <task:annotation-driven />


    <!-- Spring MVC Annotation Driven -->
    <mvc:annotation-driven />


    <!-- Transaction Annotation Driven -->
    <tx:annotation-driven transaction-manager="transactionManager" />


    <!-- Resource mapping for static resources -->
    <mvc:resources mapping="/resources/**" location="/static/" />


    <!-- File upload Bean -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />


    <!-- Transaction Manager -->
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="dataSource" ref="dataSource" />
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>


    <!-- Assigning jobs to scheduler -->
    <bean id="schedulerJob" class="training.impetus.tp.scheduler.MailServiceJob"></bean>


    <!-- processes PersistenceUnit and PersistenceContext annotations -->
    <bean
        class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />


    <!-- View Mapping to MVC -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/" />
        <property name="suffix" value=".jsp" />
    </bean>


    <!-- Exceptions Mapping to MVC -->
    <bean
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
        <property name="exceptionMappings">
            <props>
                <prop key="com.javabeat.ExampleException">
                    ExceptionPage
                </prop>
            </props>
        </property>
        <property name="defaultErrorView" value="error" />
    </bean>


    <!-- Message Resources -->
    <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>mymessages</value>
            </list>
        </property>
    </bean>

    <bean id="payCheckThread" class="training.impetus.tp.scheduler.PayCheckThread" scope="prototype"></bean>

</beans>

apploicationContext.xml apploicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"  xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

    <context:annotation-config />

    <context:component-scan base-package="training.impetus.tp" />

    <context:component-scan base-package="training.impetus.tp.controller" />

    <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="jacksonMessageConverter" />
            </list>
        </property>
    </bean>

</beans>

Sprung database.xml 弹簧数据库.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd         
                        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
                        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <context:annotation-config />

    <context:component-scan base-package="training.impetus.tp" />






    <context:property-placeholder location="classpath:datasource.properties" />

    <context:component-scan base-package="training.impetus.tp" />

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${user}" />
        <property name="password" value="${password}" />
    </bean>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="showSql" value="true" />
                <property name="generateDdl" value="true" />
                <property name="databasePlatform" value="org.hibernate.dialect.MySQLDialect" />
            </bean>
        </property>
        <property name="persistenceUnitName" value="default"></property>
        <property name="dataSource" ref="dataSource" />
    </bean>

</beans>


        <context:component-scan base-package="training.impetus.tp.controller" />

        <bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="jacksonMessageConverter" />
            </list>
        </property>
    </bean>

</beans>

test case: 测试用例:

@ContextConfiguration(locations = {"classpath:mvc-config.xml"})
@TransactionConfiguration(defaultRollback = true)
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional
public class TestUserController {

    @Before
    public void setUp() throws Exception {
    }

    @Test
    public void testGetAllUsers() {
        fail("Not yet implemented");
    }

The spring.security.version 3.0.5.RELEASE depends on Spring core 3.0.3 release. spring.security.version 3.0.5.RELEASE取决于Spring核心3.0.3版本。 This is why application context cannot load. 这就是为什么无法加载应用程序上下文的原因。 Upgrade this to a later version. 升级到更高版本。

You can verify this at https://mvnrepository.com/artifact/org.springframework.security/spring-security-core/3.0.5.RELEASE (Look for Compiler dependencies) 您可以在https://mvnrepository.com/artifact/org.springframework.security/spring-security-core/3.0.5.RELEASE上进行验证(查找编译器依赖项)

If you really need to use that class. 如果您确实需要使用该类。

Try put that class in another jar so you can include in your classpath. 尝试将该类放在另一个jar中,以便可以将其包含在类路径中。 Like is done with the RmiInvocationWrapper_Stub when you migrate from version 2.5.6 to 3.x. 从版本2.5.6迁移到3.x时,对RmiInvocationWrapper_Stub进行的操作与此类似。

You can find information in this docs of spring link 您可以在此Spring 链接的文档中找到信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 java.lang.ClassNotFoundException: org.springframework.core.annotation.MergedAnnotations - java.lang.ClassNotFoundException: org.springframework.core.annotation.MergedAnnotations java.lang.ClassNotFoundException: org.springframework.core.io.Resource - java.lang.ClassNotFoundException: org.springframework.core.io.Resource java.lang.ClassNotFoundException:org.springframework.core.Conventions - java.lang.ClassNotFoundException: org.springframework.core.Conventions java.lang.ClassNotFoundException:org.springframework.cglib.core.CodeGenerationException - java.lang.ClassNotFoundException: org.springframework.cglib.core.CodeGenerationException Spring MVC Webapp-java.lang.ClassNotFoundException:org.springframework.web.context.support.ServletRequestHandledEvent - Spring MVC Webapp - java.lang.ClassNotFoundException: org.springframework.web.context.support.ServletRequestHandledEvent java.lang.ClassNotFoundException:org.springframework.web.context.support.AnnotationConfigApplicationContext - java.lang.ClassNotFoundException: org.springframework.web.context.support.AnnotationConfigApplicationContext java.lang.ClassNotFoundException:服务器启动时org.springframework.web.method.support.CompositeUriComponentsContributor - java.lang.ClassNotFoundException: org.springframework.web.method.support.CompositeUriComponentsContributor on server startup 使用Maven:获取java.lang.ClassNotFoundException:org.springframework.web.bind.support.WebDataBinderFactory - Using Maven: Getting java.lang.ClassNotFoundException: org.springframework.web.bind.support.WebDataBinderFactory java.lang.ClassNotFoundException:org.springframework.expression.ExpressionParser - java.lang.ClassNotFoundException: org.springframework.expression.ExpressionParser java.lang.ClassNotFoundException:org.springframework.aop.config.AopConfigUtils - java.lang.ClassNotFoundException: org.springframework.aop.config.AopConfigUtils
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM