• SSH applicationContext.xml import异常


    近期在项目上,遇到了一个问题。在配置applicationContext.xml使用<import>标签引入其他的xml文件时,导致项目启动时过慢。有时还会引起启动异常。后来查到是xml文件头中的设置问题,尽管不太知道标签头的作用,但还是和大家分享一下经验:

    applicationContext.xml文件。仅仅贴出了部分代码:

    <!-- 文件头-->
    <beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans

            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- 注入baseDAO层,用于其他的spring.xml文件继承 -->  
        <bean id="baseDao" class="framework.base.BaseDao">  
            <property name="sqlMapClient" ref="sqlMapClient" />  
        </bean> 

    <import resource="com/shipment/dao/shipmentSpring.xml" />


    引入的shipmentSpring.xml文件:

         

    大家能够看到。第二个文件shipmentSpring.xml中的文件头,xsi:schemaLocation多了两行出来

    以下是启动时控制台的信息,贴出部分异常的信息:

    org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 78; schema_reference.4: 无法读取方案文档 'http://www.springframework.org/schema/beans/spring-beans-3.0.xsd', 原由于 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是 <xsd:schema>。

    Caused by: java.net.SocketException: Software caused connection abort: recv failed

    五月 12, 2014 9:55:49 上午 org.apache.catalina.core.StandardContext listenerStart
    SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [com/shipment/dao/shipmentSpring.xml]
    Offending resource: class path resource [applicationContext.xml]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 9 in XML document from class path resource [com/shipment/dao/shipmentSpring.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 78; cvc-elt.1: 找不到元素 'beans' 的声明。


    Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 9 in XML document from class path resource [com/shipment/dao/shipmentSpring.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 78; cvc-elt.1: 找不到元素 'beans' 的声明。


    Caused by: org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 78; cvc-elt.1: 找不到元素 'beans' 的声明。

    启动时,控制后常常停留在以下两行位置:



    大家能够看到我用红色标注的字体,全都是第9行。再看看shipmentSpring.xml文件的第9 行。一開始我注意到这里,后来我将applicationContext.xml的文件头拷贝到shipmentSpring.xml里。将shipmentSpring.xml原来的文件头删除了,项目就能正常启动了,且启动速度快非常多

    五月 12, 2014 10:08:22 上午 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 7933 ms

    原来的启动速度(这是原来的配置正常启动的速度。异常时启动完毕的时间30多秒):

    五月 12, 2014 9:55:50 上午 org.apache.catalina.startup.Catalina start
    INFO: Server startup in 21174 ms  


    说明一下:这两个文件的文件头我都是在别人的项目那里复制过来的,别人那里能正常启动,且启动完毕时间也是10秒内。

    文件头的作用(不知道对不正确,大家自己去查查):我印象中好像是在指定的路径里找到对应的文件,也起到限制标签书写是否正确的作用










        

  • 相关阅读:
    42.OC中instancetype与id的区别
    41.App 框架的搭建思路以及代码的规范
    44、WebStrom下载和破解
    40、IOS自动打包-Python脚本
    39、字符串去除空格
    38、当前时间是否在开放时间内(也就是时间对比)
    37、自定义气泡
    36、NSTimer使用详解-开启、关闭、移除
    35、输入框(UITextField)密码明暗文切换
    34、iOS App图标和启动画面尺寸
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10502604.html
  • Copyright © 2020-2023  润新知