MI前端扩展不生效问题和Oracle驱动加载失败问题

1. MI前端扩展没有生效?

1.1 问题原因

MetaApp.prepareListApp 接口没有返回前端扩展文件给前端. MI的前端包tech-smi-ai-1.3.0.zip带了版本号,解压缩后文件名为tech-smi-ai, MetaApp.prepareListApps接口通过路径\umdComps\tech-smi-ai-1.3.0\config\app.json去找前端的配置文件找不到,因为路径tech-smi-ai-1.3.0不存在.

1.2 解决方案

1.2.1 将泽彬给的mi所有前端包去掉版本号(-1.3.0),以后升级也不要带版本号

1.2.2 修改数据库的方式

SELECT * FROM META_APP WHERE VIEW_FILE LIKE '%1.3.0%';

然后 VIEW_FILE 去掉版本号-1.3.0保存,tech-smi-ai-1.3.0.zip—>tech-smi-ai.zip

SELECT * FROM meta_attachment WHERE NAME LIKE '%1.3.0.zip%';

然后 NAME 去掉版本号保存,tech-smi-ai-1.3.0.zip—>tech-smi-ai.zip

1.2.3 MetaApp.prepareListApps接口需要调整支持前端版本号的问题.

2. Oracle数据库连接异常?

2.1 异常

ERROR:java.sql.SQLException: Non supported character set (add orai18n.jar in your classpath): ZHS16GBK at oracle.sql.CharacterSetUnknown.failCharsetUnknown(CharacterSetFactoryThin.java:233) at oracle.sql.CharacterSetUnknown.convert(CharacterSetFactoryThin.java:194)

2.2 解决方案

oracle加载驱动使用的是线程变量的类加载器,而不是App的类加载器,将oracle驱动的类加载器修改成我们App类加载器