`

加载程序时不能正常启动,加载xml报错

    博客分类:
  • java
 
阅读更多

报错日志:

Caused by: 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name "sqlMapClient" 
defined in file [D:\workspace\dtjt\webapp\WEB-INF\classes\spring\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.RuntimeException: Error occurred. 
 Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. 
 Cause: java.lang.RuntimeException: Error parsing XPath "/sqlMapConfig/sqlMap". 
 Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  
Cause: org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
Caused by: 
java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  
Cause: java.lang.RuntimeException: Error parsing XPath "/sqlMapConfig/sqlMap". 
 Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. 

<!--StartFragment -->

 Cause: org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:89)、
 

解决办法:

 设置JVM启动时 ,读取源文件的字符编码的参数 Dfile.encoding=UTF-8.此类问题即可解决。

因为我们在编写xml文件时,采用的都是UTF-8编码,所以jvm在读文件时也要采用UTF-8编码读。

 

 



 
 
  转载:
 

-Dfile.encoding解释:
在命令行中输入java,在给出的提示中会出现-D的说明:
-D<name>=<value>
               set a system property
-D后面需要跟一个键值对,作用是通过命令行向java虚拟机传递一项系统属性
对-Dfile.encoding=UTF-8来说就是设置系统属性file.encoding为UTF-8
那么file.encoding什么意思?字面意思为文件编码。
搜索java源码,只能找到4个文件中包含file.encoding的文件,也就是说只有四个文件调用了file.encoding这个属性。
在java.nio.charset包中的Charset.java中。这段话的意思说的很明确了,简单说就是默认字符集是在java虚拟机启动时决定的,依赖于java虚拟机所在的操作系统的区域以及字符集。
代码中可以看到,默认字符集就是从file.encoding这个属性中获取的。

 

=====

Java's file.encoding property on Windows platfor 
This property is used for the default encoding in Java, all readers and writers would default to using this property. file.encoding is set to the default locale of Windows operationg system since Java 1.4.2. System.getProperty("file.encoding") can be used to access this property. Code such as System.setProperty("file.encoding", "UTF-8") can be used to change this property. However, the default encoding can be not changed dynamically even this property can be changed. So the conclusion is that the default encoding can't change after JVM starts. java -dfile.encoding=UTF-8 can be used to set the default encoding when starting a JVM. I have searched for this option Java official documentation. But I can't find it.

  • 大小: 94.5 KB
分享到:
评论

相关推荐

    javax.xml.ws.Service 报错需要的包

    报错通常表明缺少必要的依赖包,这可能会影响到程序的正常运行。在本案例中,问题描述指出需要特定的"endorsed"目录下的jar包,这涉及到Java的类加载机制。 Java的endorsed目录是一个特殊的地方,用于放置那些需要...

    javax.xml.rpc

    当项目包含"javax.xml.rpc"相关资源但编译时仍然报错,这通常是因为编译器无法找到对应的类或依赖。将这些资源移动到其他目录并重新加载到项目中解决了问题,这可能是由于IDE或构建工具的类路径设置问题。正确配置类...

    Spring集成JPA配置懒加载报错解决方案

    Spring框架集成JPA(Java Persistence API)时,经常会遇到懒加载(Lazy Loading)报错的问题,本文将详细介绍解决方案。 懒加载报错解决方案 懒加载报错解决方案主要是解决Spring集成JPA配置懒加载时出现的报错...

    win7导出xml报错:无法定位程序输入点AddDllDirectory于动态链接库KERNEL32

    标题 "win7导出xml报错:无法定位程序输入点AddDllDirectory于动态链接库KERNEL32" 描述了一个在Windows 7操作系统中常见的错误,该错误发生在尝试导出XML文件时,系统提示找不到`AddDllDirectory`函数的入口点于`...

    tomcat7启动或运行报错

    ### Tomcat7启动或运行时报错:`java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl` #### 问题概述 在使用Tomcat7部署Web应用的过程中,可能会遇到启动或者运行时出现以下错误提示: ``` java....

    tinyxml2.h tinyxml2.cpp文件

    例如,你可以通过`XMLDocument::LoadFile()`或`XMLDocument::Parse()`来加载XML数据,然后通过`XMLElement::FirstChildElement()`、`XMLElement::NextSiblingElement()`等方法遍历元素,使用`XMLElement::Attribute...

    在老项目中加入struts2,xml报错

    在整合老项目与Struts2框架的过程中,可能会遇到XML解析相关的错误,这通常是由于Struts2在启动时尝试使用不兼容或不适合的XML解析器导致的。本文将深入探讨这个问题,提供解决方案,并介绍如何避免此类问题。 错误...

    关于Android Studio安装完后activity_main.xml前几行报错的解决建议

    当你安装完Android Studio之后,开始了一个新项目,然后你发现: activity_main.xml前几行报错,比如...activity_main.xml下的“design”界面无法加载。 可能是因为Android SDK(不是JDK)没有安装好,具体原因可能是谷

    Android XML 解析 写入

    XML解析是将XML文件转换为应用程序可以处理的数据的过程。本篇将详细探讨Android中的XML解析,特别是PULL解析方式,并讲解如何进行XML的写入操作。 ### 1. Android XML解析概述 XML解析器分为两种主要类型:DOM...

    dhtmlxTree

    这里,`setImagePath`用于设置图标路径,`loadXML`用于加载XML数据。 **三、操作与事件** dhtmlxTree提供了多种操作接口,如添加、删除、修改节点,以及获取选中、展开、关闭的节点等。同时,它还支持丰富的事件...

    Jboss启动报Failed to parse WEB-INFweb.xml; - nested throwable错误

    Jboss应用服务器在启动时,会对WEB-INF目录下的web.xml文件进行解析,以便加载应用程序的配置信息。但是,如果web.xml文件存在语法错误或配置错误,Jboss将无法正确地解析该文件,从而导致启动报错Failed to parse ...

    已编译好的tinyxml2库.rar

    2. **加载XML**:创建`XMLDocument`实例,然后使用`LoadFile`或`Parse`方法加载XML数据。 3. **遍历XML**:通过`FirstChildElement`、`NextSiblingElement`等方法遍历XML树,访问和修改元素及属性。 4. **保存修改...

    关闭tomca报错t,网络整理

    - 当Web应用程序启动时,它会加载并注册JDBC驱动,以便与数据库建立连接。在正常情况下,当Web应用停止时,应执行相应的清理操作,包括注销JDBC驱动。 - 如果注销过程出现问题,可能是由于代码中的bug,或者是Web...

    SSH整合(注解方式)dataSource配置defaultAutoCommit启动报错

    在SSH整合中,如果`defaultAutoCommit`设置不当,可能会导致应用启动时出现异常,因为这可能与Spring的事务管理策略冲突。 当出现"SSH整合(注解方式)dataSource配置defaultAutoCommit启动报错"时,通常有以下几种...

    xml-apis-1.4.01.jar.zip

    - **SAX(Simple API for XML)**:是一种基于事件驱动的XML解析器,适用于处理大型XML文档,因为它不会一次性加载整个文档到内存中。 - **XPath API**:用于在XML文档中定位元素和属性,提供了一种简洁的方式来查询...

    用dom解析xml文件

    1. 加载XML文件:首先,你需要创建一个`DocumentBuilderFactory`对象,然后通过`newDocumentBuilder()`方法得到一个`DocumentBuilder`实例。接着,调用`parse()`方法,传入XML文件的输入流,加载XML文档。 ```java ...

    安装hadoop2.4.1,启动报错,麻烦帮忙看看是 (2).pdf

    在安装Hadoop 2.4.1的过程中遇到启动报错,这通常是由于配置不正确或者环境设置不完整导致的。以下是一些可能的原因和解决步骤: 1. **Native库加载失败**: 报错中提到`NativeCodeLoader`无法加载针对你平台的...

    关于@EnableSwagger2报错的正常使用demo

    当遇到报错时,最常见的原因可能是依赖冲突、配置错误或者缺少必要的依赖。 1. **添加依赖**:确保你的`pom.xml`或`build.gradle`文件中包含了正确的Swagger2依赖。对于Maven项目,你需要添加以下依赖: ```xml ...

    tomcat5.5起动报错原因解决

    如果此目录下只存在一个名为`techart.xml`的文件,而缺乏必要的Web应用配置文件(通常为`.xml`格式),那么Tomcat在启动时将无法识别和加载相应的Web应用,从而导致启动失败。正确做法是确保该目录下有对应于每个...

Global site tag (gtag.js) - Google Analytics