Reader entry: ???? 乱码

mybatis3.3.*中DefaultVFS的logger乱码问题

博客分类:

mybatisResolverUtilDefaultVFS乱码

mybatis3.3.0和mybatis3.3.1中的org.apache.ibatis.io.DefaultVFS中的logger的参数错误
private static final Log log = LogFactory.getLog(ResolverUtil.class);

应该是

private static final Log log = LogFactory.getLog(DefaultVFS.class);

这个bug在3.4.2中已经修复

=============================

出现这个问题的原因是logback记日志的时候乱码

ResolverUtil - Not a JAR: file:。。。。。。

ResolverUtil - Reader entry: ????

结果在ResolverUtil中根本找不到logger,后来用search and replace搜索jar包才找到这个bug,晕死

乱码的问题还是没解决,看了DefaultVFS的源码,应该是

Java代码  

  1. /*
  2. * Some servlet containers allow reading from directory resources like a
  3. * text file, listing the child resources one per line. However, there is no
  4. * way to differentiate between directory and file resources just by reading
  5. * them. To work around that, as each line is read, try to look it up via
  6. * the class loader as a child of the current resource. If any line fails
  7. * then we assume the current resource is not a directory.
  8. */
  9. is = url.openStream();
  10. BufferedReader reader = new BufferedReader(new InputStreamReader(is));
  11. List<String> lines = new ArrayList<String>();
  12. for (String line; (line = reader.readLine()) != null;) {
  13. if (log.isDebugEnabled()) {
  14. log.debug("Reader entry: " + line);
  15. }
  16. lines.add(line);
  17. if (getResources(path + "/" + line).isEmpty()) {
  18. lines.clear();
  19. break;
  20. }
  21. }

中的InputStreamReader没有传第二个参数导致

时间: 2024-10-14 11:55:41

Reader entry: ???? 乱码的相关文章

mybatis 的 DefaultVFS 日志乱码问题

mybatis 的 DefaultVFS 日志乱码问题 mybatis  DefaultVFS 乱码 1. 问题描述 今天在启动同事搭建的工程时,发现 console 中乱码,细看下,是 mybatis 的 DefaultVFS 打印的日志乱码. 2. 寻找问题 看到问题,不解决痒的不行. 于是,打开 mybatis 的源码,找到打印乱码日志的代码,如下: 乱码日志打印 从上图我们可以看出来,从字节流转化为字符流时,没有指定字符编码,而我们的控制台打印编码设置的为 UTF-8 3. 解决问题 找

Mybatis-mapper-xml-基础

今天学习http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html.关于mapper.xml的sql语句的使用. 项目路径:https://github.com/chenxing12/l4mybatis 首先,准备环境. 1.创建project 在parent项目上右键,new model->maven->mybatis-mapper. 填充pom.xml <?xml version="1.0" encoding="

0409

DEBUG [main] - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.DEBUG [main] - Class not found: org.jboss.vfs.VFSDEBUG [main] - JBoss 6 VFS API is not available in this environment.DEBUG [main] - Class not found: or

C# 常用文件操作

1 public class IoHelper 2 { 3 /// <summary> 4 /// 判断文件是否存在 5 /// </summary> 6 /// <param name="fileName">文件路径</param> 7 /// <returns>是否存在</returns> 8 public static bool Exists(string fileName) 9 { 10 if (fileN

基于C/S模式的程序更新-解压

主要是利用开源dll----SharpCompress.dll 1 using (Stream stream = File.OpenRead(exePath + @"\Update.RAR")) 2 { 3 var reader = ReaderFactory.Open(stream); 4 while (reader.MoveToNextEntry()) 5 { 6 if (!reader.Entry.IsDirectory) 7 { 8 //Console.WriteLine(re

mybatis-IO model

1. 概述 本文,我们来分享 MyBatis 的 IO 模块,对应 io 包.如下图所示: 在 <精尽 MyBatis 源码解析 —— 项目结构一览> 中,简单介绍了这个模块如下: 资源加载模块,主要是对类加载器进行封装,确定类加载器的使用顺序,并提供了加载类文件以及其他资源文件的功能 . 本文涉及的类如下图所示: 2. ClassLoaderWrapper org.apache.ibatis.io.ClassLoaderWrapper ,ClassLoader 包装器.可使用多个 Class

mybatis查询(一对一、一对多)

1.一对一 (1)创建实体类: Student: public class Student implements Serializable { private static final long serialVersionUID = 1L; private String studentno; private String sname; private String sex; private String birthday; private String classno; private Stri

java输入流[Reader,InputStream] 不带缓冲效果的基本流操作。以及中文乱码情况

Reader,InputStream用来读取资源的内容,资源可以是文件或者网络 首先有一个txt文件,文件中的内容如下 File f = new File("文件路径"); FileInputStream fis = new FileInputStream(f);//创建一个输入流,读取f中的内容到程序中来 //System.out.println(fis.read()); byte[] b = new byte[1024];//定义一个数组,保存读取的类容 int hasRead =

matlab eps 字体用AI打开乱码的解决

(1)投IEEE文章的同学可以看看 Font Helvetica is not embedded,一个字体问题花费了我两三个小时,解决方法记录一下,方便后续自己查看,也方便出现同样问题的同学少走弯路. IEEE要求所有投稿的PDF文档要通过IEEE PDF eXpress service检查,而这个系统要求嵌入所有的字体才可以提交. 我的文档有一个Helvetica字体没有嵌入,一开始以为是字体没有安装的原因,于是下载了全套的Helvetica字体装上,结果发现还是不行,在网上找了蛮久,最后发现