mybatis*中DefaultVFS的logger乱码问题

时间:2022-06-01 18:19:35

从网上下的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"即可.