7. FAQ

7.1. 静态扫描控制台打印异常,显示解析xml文件失败,错误消息为:Error on line 1 of document : 文件提前结束。

小技巧

说明该xml不是标准的Mybatis的xml文件,代码会继续执行,不影响最终结果。

image-2023103100005

7.2. 静态扫描控制台不输出内容,程序阻塞

小技巧

查看cpu,如果cpu使用率90%以上,强制停止,使用JDK11重新运行程序(java -jar LtMigrateAssist.jar ); 如果cpu未卡顿,只是扫描文件过多,结果较多,耗时在写入结果excel文件,耐心等待几分钟即可。

7.3. 扫描结果显示不兼容,实际的SQL是兼容的,无需修改,出现误扫

小技巧

根据手册第4章节修改或删除扫描规则

7.4. 静态扫描程序出现如下图所示的错误

image-2023103100003

小技巧

查看配置文件application.yaml的mapperPath配置,检查扫描路径是否正确

7.5. 扫描Jar包时,发现配置的excludePrefixSet未生效

小技巧

查看配置文件application.yaml的mapperPath配置,检查扫描路径是否是文件夹路径,非单个文件路径

7.6. 除了Mybatis的xml文件和后缀名sql文件以外,如何扫描其他文件

小技巧

可以修改application.yaml下suffix配置,添加后缀名,这样会以英文封号(;)去分割文件,得到待扫描的SQL块去匹配扫描规则进行扫描,当然了xml和sql文件,jar包下配置的相关文件必扫。离线扫描不支持zip文件扫描,在线扫描支持单层zip上传扫描,嵌套zip文件(zip里面含zip文件)不支持。

7.7. 扫描时候,报错提示为OutOfMemoryError, Compressed class space

小技巧

因为扫描的文件太多了,JVM元数据过多,可设置JVM参数CompreseedClassSpaceSize的大小,如:java -XX:CompressedClassSpaceSize=3000m -jar LtMigrateAssist.jar

7.8. 扫描报告出现明显异常,在详细信息sheet页中建议用法、统一SQL是否支持、级别列的内容明显不对

小技巧

检查配置文件application.yaml中targetDataBase字段是否正确,可选值参照 手册1.3节 。拼写错误或大小写错误都会导致扫描异常。

异常扫描报告如下:

image-2023103100006

错误配置见如下:(正确值为大写DB,即Oracle-to-LightDB-Oracle)

image-2023103100007