mybatis*中DefaultVFS的logger乱码问题

从网上下的Java Persistence with MyBatis 3的源码

出现这个问题的原因是logback记日志的时候乱码 
ResolverUtil - Not a JAR: file:。。。。。。 
ResolverUtil - Reader entry: ���� 

这是DefaultVFS中关于这个的源码部分,断点调试了一下

is = url.openStream();  
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));  
            List<String> lines = new ArrayList<String>();  
            for (String line; (line = reader.readLine()) != null;) {  
              if (log.isDebugEnabled()) {  
                log.debug("Reader entry: " + line);  
              }  
              lines.add(line);  
              if (getResources(path + "/" + line).isEmpty()) {  
                lines.clear();  
                break;  
              }  

这部分中url是.class文件,没有反编译过的.class自然是乱码,至于为什么传进去class,我也母鸡.

顺便记录一下通过内容查找jar包文件的方式:右键library->find in path,路径最右端的recursively选中,关键字"Reader entry"即可.

原文地址:https://www.cnblogs.com/ptqueen/p/7275293.html