FAQ of building Spring APP

本文列举了Spring框架中常见的配置错误及其解决方案,包括XML配置文件元素未声明、依赖包缺失、类加载失败等问题,并提供了具体的修正建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 6 in XML document from class path resource [applicationContext-firstspringapp.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 68; cvc-elt.1.a: Cannot find the declaration of element 'beans'.
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
A: xsi:schemaLocation add two uris:
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd

2. Exception in thread "main" org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 8 in XML document from class path resource [applicationContext-firstspringapp.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 34; cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element 'context:annotation-config'.
A: xsi:schemaLocation add two uris:
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd

3. Exception in thread "main" org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.scheduling.quartz.SchedulerFactoryBean] for bean with name 'startQuertz' defined in class path resource [applicationContext-schedule.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.scheduling.quartz.SchedulerFactoryBean
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1327)
A: Add jar
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>4.0.2.RELEASE</version>
</dependency>

4. 09:48:34,022 DEBUG main support.DefaultListableBeanFactory:449 - Creating instance of bean 'startQuertz'
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/transaction/TransactionException
A: Add jar
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>4.0.2.RELEASE</version>
</dependency>

5. org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [org.springframework.scheduling.quartz.JobDetailBean] for bean with name 'exampleJob' defined in class path resource [applicationContext-quartzSchedu.xml]: problem with class file or dependent class; nested exception is java.lang.IncompatibleClassChangeError: class org.springframework.scheduling.quartz.JobDetailBean has interface org.quartz.JobDetail as super class
A: Use org.springframework.scheduling.quartz.JobDetailFactoryBean instead of org.springframework.scheduling.quartz.JobDetailBean

6. Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.scheduling.quartz.SchedulerFactoryBean#0' defined in class path resource [applicationContext-quartzSchedu.xml]: Invocation of init method failed; nested exception is org.quartz.SchedulerException: Jobs added with no trigger must be durable.
A: Add <property name="durability" value="true" /> to job define.

7. Exception in thread "main" org.springframework.oxm.UnmarshallingFailureException: SAX reader exception; nested exception is org.xml.sax.SAXException: The class for the root element 'settings' could not be found.
    at org.springframework.oxm.castor.CastorMarshaller.unmarshalSaxReader(CastorMarshaller.java:626)
A: Add mapping.xml for this castor
<bean id="castorMarshaller" class="org.springframework.oxm.castor.CastorMarshaller">
    <property name="mappingLocation" value="classpath:mapping-ox.xml" />
</bean>

The mapping-ox.xml are:
<mapping>
    <class name="com.an.spring.core.da.ox.Settings">
        <map-to xml="settings" />
        <field name="fooEnabled" type="boolean">
            <bind-xml name="fooEnabled" node="element" />
        </field>
    </class>
</mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值