当我们使用mybatis时, 其日志的打印信息中, 有时会出现乱码。

Class not found: org.jboss.vfs.VFS
JBoss 6 VFS API is not available in this environment.
Class not found: org.jboss.vfs.VirtualFile
VFS implementation org.apache.ibatis.io.JBoss6VFS is not valid in this environment.
Using VFS adapter org.apache.ibatis.io.DefaultVFS
Find JAR URL: file:/D:/java/javaStudent1/mybatis/target/classes/org/example/dao
Not a JAR: file:/D:/java/javaStudent1/mybatis/target/classes/org/example/dao
Reader entry: StudentDao.class
Reader entry: StudentDao.xml
Listing file:/D:/java/javaStudent1/mybatis/target/classes/org/example/dao
Find JAR URL: file:/D:/java/javaStudent1/mybatis/target/classes/org/example/dao/StudentDao.class
Not a JAR: file:/D:/java/javaStudent1/mybatis/target/classes/org/example/dao/StudentDao.class
Reader entry: ����   3    findStudentById /(Ljava/lang/Integer;)Lorg/example/pojo/Student; getAllStudents ()Ljava/util/List; 	Signature .()Ljava/util/List<Lorg/example/pojo/Student;>; getStudentByIdAndAge !(Ljava/util/Map;)Ljava/util/List; =(Ljava/util/Map;)Ljava/util/List<Lorg/example/pojo/Student;>; 
Find JAR URL: file:/D:/java/javaStudent1/mybatis/target/classes/org/example/dao/StudentDao.xml

看着就不爽

由上面两处问题大致可以猜测是由于指定的VFS没有找,mybatis启用了默认的DefaultVFS,然后由于DefaultVFS的内部逻辑,从而导致了reader entry乱码。
所以解决问题的切入点有两个。1: org.jboss.vfs.VFS 2:修改DefaultVFS

所以解决的办法就是我们添加一个依赖

    <dependency>
      <groupId>org.jboss</groupId>
      <artifactId>jboss-vfs</artifactId>
      <version>3.2.15.Final</version>
    </dependency>
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐