经过几天的适配工作,终于初步完成了国产化平台的适配,后续会随时更新知道项目上线。
两条尝试的适配路线:
1、在若依+activiti6.0.0的版本基础上进行国产化适配,一直不能在金蝶Apusic10上运行,最后放弃。
2、在若依+人大金仓版本上集成工作流5.20.0进行国产化适配,初步完成。
适配中遇到的问题:
1、导入若依工程中的sql文件到人大金仓中,启动项目,sql报错。
解决方法,所有表名列名换成大写。
2、启动项目,继续失败
Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/ruoyi/framework/config/MyBatisConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is java.lang.BootstrapMethodError: java.lang.NoSuchMethodError: org.apache.ibatis.session.Configuration.setVfsImpl(Ljava/lang/Class;)V
解决方法,去掉activiti包中的mybatis依赖。
<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>5.20.0</version> <exclusions> <exclusion> <artifactId>mybatis</artifactId> <groupId>org.mybatis</groupId> </exclusion> <exclusion> <artifactId>activation</artifactId> <groupId>javax.activation</groupId> </exclusion> </exclusions> </dependency>
3、部署到金蝶Apusic10,部署失败。
解决方法,启动类中增加
@SpringBootApplication(exclude = {org.activiti.spring.boot.SecurityAutoConfiguration.class,DataSourceAutoConfiguration.class, JpaProcessEngineAutoConfiguration.class})
4、项目启动之后,管理员登录,进入系统工具-》代码生成,点击导入按钮时,报错。
解决方法,
a、select database()改为'PUBLIC'; b、在视图INFORMATION_SCHEMA".TABLES中增加OBJ_DESCRIPTION(C.RELFILENODE, 'SYS_CLASS'::NAME) AS TABLE_COMMENT作为表的注释,sql中的
select table_name, table_comment, create_time, update_time改为
select table_name, table_comment, '' as create_time, '' as update_time
5、项目启动之后,创建模型、编辑模型时,返回404页面
解决方法,修改app-cfg.js文件中
'contextRoot' : '/modeler',为
'contextRoot' : '/项目路径/modeler'
6、在流程定义中不能导入bpmn流程模型
解决方法,增加bpmn格式
7、控制台中有saveOnline报错信息
解决方法,replace into改为insert into,增加判断数据是否存在的逻辑,存在的场合更新,不存在的场合插入。
8、查看进度流程图,在国产操作系统中中文乱码
解决方法,查看labelFontName、activityFontName、annotationFontName是否都改为了宋体,然后把windows下的simsun.ttc或ttf拷贝到服务器的jdk路径/jre/lib/fonts/下,重启金蝶中间件即可。
未完待续