最近在做项目国产化,由mysql迁移到达梦数据库,在中间过程出现一些问题,由此记录下来。
在迁移过程中,启动项目,发现报错:
一查发现是activity不支持达梦。百度了一下,发现要修改源码,特此根据https://blog.csdn.net/qq_27018749/article/details/126652149进行修改
1.在浏览器打开
https://github.com/Activiti/Activiti/archive/refs/tags/activiti-6.0.0.zip
2.下载到了Activiti-activiti-6.0.0.zip,在文件夹中解压
3.在idea中引入这个项目
4.找到activiti-engine文件夹,以下所有代码都是在这个文件夹中修改。找到下面这个文件,在我标注的地方添加这两行代码
public static final String DATABASE_TYPE_DM = "dm";// 适配达梦,增加成员变量
databaseTypeMappings.setProperty("DM DBMS", DATABASE_TYPE_DM);// 适配达梦,增加修改
5.找到下面标注的这个类,在图中我标注的地方添加 || "dm".equals(databaseType)
6.修改org.activiti.engine.impl.AbstractQuery 类的 addOrder(String column, String sortOrder, NullHandlingOnOrder nullHandlingOnOrder)方法
,加上这两个判断
|| ProcessEngineConfigurationImpl.DATABASE_TYPE_DM.equals(databaseType) //适配达梦
|| ProcessEngineConfigurationImpl.DATABASE_TYPE_DM.equals(databaseType) //适配达梦
7.即将修改activiti的资源文件,找到我下图的这些文件夹
8.找到我下图框起来的三个文件,复制一份到当前目录下,文件名就把orcale改成dm就行
修改完成就是这样三个文件
9.再打开drop文件夹,也找到这三个文件,复制,同样是把orcale改成dm
修改完成就是这样三个文件
10.在properties文件夹下复制oracle.properties改名为dm.properties,如我下图
至此,需要修改的源码就没了。接下来,就去把activiti-engine打包install到我们的项目中
11.在idea右侧找到maven,找到activiti-engine目录,点击install,如图
12.如果没有自动打包到你引用的activiti目录下,则需要自己复制过去。找到下面的文件目录,打开
13.打开打包好的文件目录,复制activiti-engine-6.0.0.jar
14.复制到你引用的activiti目录下