tk.mybatis与Activiti共存问题解决
由于tk.mybatis依赖了persistence-api,会让Activiti装配JpaProcessEngineAutoConfiguration,因为其@conditonalOnclass(name = “javax.persistence.EntityManagerFactory”)。
但实际没有使用JPA,导致启动报错。如果排除persistence-api,又会导致tk.mybatis报错。
参考了一番其它的人做法,无论是各种排除还是添加依赖都无效。
最终自己的解决方案是:
首先排除activiti jpa的自动装配:
1 | @SpringBootApplication(exclude={JpaProcessEngineAutoConfiguration.class})。 |
然后找到activiti中的DataSourceProcessEngineAutoConfiguration.class
复制出源码,在自己的项目中添加一个同名文件(不同名也行)。然后粘贴内容到新建的文件中。最后删掉:
1 | @ConditionalOnMissionClass(name = "javax.persistence.EntityManagerFactory") |
Ok,搞定!