SSM集成activiti6.0错误集锦(一)
项目环境
- Maven构建
- 数据库:Orcle12c
- 服务器:Tomcat9
- <java.version>1.8</java.version>
- <activiti.version>6.0.0</activiti.version>
- <springframework.version>5.0.4.RELEASE</springframework.version>
- <mybatis.version>3.4.5</mybatis.version>
问题
问题一:java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException
- 出现原因:Jackson和Spring版本不兼容问题,activiti6中自带的Jackson版本是2.7.5,和spring5不兼容,Jackson版本过低
- 解决思路:查询pom中是否存在jacksonjar包引用,如果存在则在pom的activiti引用中排除jackson的jar包引用
- 解决步骤
- 查看pom引用jar,如下图所示,点击4——>使用3搜索,可以看见activiti-engine下依赖很多jackson的低版本的jar。2.7.5版本和Spring5一定不兼容
图一
- 在pom的activiti-engine下排除关于jackson的引用,如下
<!-- activiti-engine-->
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>如果找不到相关的<groupId>和<artifactId>,可以双击图一中的标记2(也就是相关的依赖jar),将会进入到如下界面,找到相关的<groupId>和<artifactId>
- 重新引入高版本Jackson
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency> - 强制更新maven项目,解决问题
- 在pom的activiti-engine下排除关于jackson的引用,如下
问题二:Could not open ServletContext resource [diagrams/test.bpmn]
- 出现原因:在项目启动时自送部署流程的相关配置路径问题,如下图
- 解决办法:在路径前面加上classpath: ,代表在当前资源文件路径下查找
- 如下图,修改自动部署流程路径
问题三:No qualifying bean of type 'org.activiti.engine.ProcessEngine' is defined
- 问题场景
- 我的activiti.cfg.xml中配置如下
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<!-- 配置数据源,和系统使用同一个数据源-->
<property name="dataSource" ref="dataSource" />
<property name="databaseSchemaUpdate" value="true" />
<!-- 统一的事务管理 -->
<property name="transactionManager" ref="transactionManager" />
<property name="activityFontName" value="宋体" />
<property name="labelFontName" value="宋体" />
<property name="deploymentResources">
<list>
<value>classpath:diagrams/test.bpmn</value>
</list>
</property>
<property name="beans">
<map>
<entry key="myService" value-ref="myService" />
</map>
</property>
</bean> <bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration" />
</bean> - Java类中注入方法如下
@Autowired
@Qualifier
private ProcessEngine processEngine; - 报错信息如下图
- 我的activiti.cfg.xml中配置如下
- 问题原因
- 在配置文件中,注入的类是org.activiti.spring.ProcessEngineFactoryBean,而在Java中自动注入的实体Bean则是org.activiti.engine.ProcessEngine,两者类型不匹配
- 注解@Autowired默认是按照Bean类型来匹配,而org.activiti.engine.ProcessEngine根本就没有配置注入,所以报错
- 解决办法
- 修改匹配模式为名称匹配,将注解@Qualifier修改为@Qualifier(value="processEngine")
- 虽然两者类型不一样,但是Spring 会自动将org.activiti.spring.ProcessEngineFactoryBean强转成org.activiti.engine.ProcessEngine注入
SSM集成activiti6.0错误集锦(一)的更多相关文章
- SSM集成activiti6.0错误集锦(二)
项目环境 Maven构建 数据库:Orcle12c 服务器:Tomcat9 <java.version>1.8</java.version> <activiti.vers ...
- springboot集成activiti6.0多数据源的配置
最近公司开始开发springboot的项目,需要对工作流进行集成.目前activiti已经发布了7.0的版本,但是考虑到6.0版本还是比较新而且稳定的,决定还是选择activiti6.0的版本进行集成 ...
- django 2.0 xadmin 错误集锦
转载 django 2.0 xadmin 错误集锦 2018-03-26 10:39:18 Snail0Li 阅读数 5188更多 分类专栏: python 1.django2.0把from dj ...
- ssm集成redis
身在一个传统的IT公司,接触的新技术比较少,打算年后跳槽,所以抽空学了一下redis. 简单的redis测试,咱们这边就不讲了,现在主要讲讲ssm集成redis的过程,因为现在项目用的就是ssm的框架 ...
- Activiti工作流框架学习笔记(二)之springboot2.0整合工作流Activiti6.0
以前在工作当中做过不少与工作流Activiti有关的工作,当时都是spring集成activiti5.22的项目,现在回过头去看,其实版本已经稍微老了,因此,基于先前的工作经验,决定用较新版本的技术来 ...
- Activiti6.0 安装出错 log4j:ERROR setFile(null,true) call failed.
由于要选择一款合适的流程引擎,需要在jbpm和Activiti之间做对比,我这边负责Activiti的测试. 看到Activiti官网(http://www.activiti.org/download ...
- SVN下错误集锦
SVN下错误集锦 一SVN下的文件被locked不能update和commit 最近做项目的时候,遇到这个问题,SVN下的文件被locked不能update和commit.其提示如下: 解决办法:执行 ...
- (转)Hadoop之常见错误集锦
Hadoop之常见错误集锦 下文中没有特殊说明,环境都是CentOS下Hadoop 2.2.0.1.伪分布模式下执行start-dfs.sh脚本启动HDFS时出现如下错误: ...
- 在Hadoop 2.3上运行C++程序各种疑难杂症(Hadoop Pipes选择、错误集锦、Hadoop2.3编译等)
首记 感觉Hadoop是一个坑,打着大数据最佳解决方案的旗帜到处坑害良民.记得以前看过一篇文章,说1TB以下的数据就不要用Hadoop了,体现不 出太大的优势,有时候反而会成为累赘.因此Hadoop的 ...
随机推荐
- MyBatis基础入门《七》查询参数传入对象
MyBatis基础入门<七>查询参数传入对象 描述: 在执行查询语句的时候,传入的参数是一个对象,依据对象的属性,进行检索数据.此时,书写SQL语句中的条件时,其参数需要和对象中的属性保持 ...
- js原型链的说明
首先需要明确的是:只有对象有__proto__属性,而函数只有prototype属性,没有__proto__属性,函数的原型有一个constructor属性,指向的是函数本身! Function是Ob ...
- html5随机背景颜色
<script>var colors=['red','blue','green','orange','yellow']; function bcolor(){ var ...
- html5-css渐变色
div{ width: 300px; height: 100px; margin: 50px; padding: 50px; border:5px groove rgba ...
- Differencia (归并树)
归并树,与我们原学过的归并排序是一样的原理,但是在那个的基础上进行扩展应用.首先每个节点储存了它每个节点所代表的点的有序序列,还有就是每个点里面包含的所有的b[i]在左右子树的排名辅助更新数据,还有一 ...
- HashSet, HashTable
HashTable 存储键值对 , Hashtable和Dictionary<TKey,TValue>都是存键值对 HashSet 只存储值,盛放不同的数据,相同的数据只保留一份 Hash ...
- 【2017-2-21】C#分支语句,分支嵌套,变量的作用域
分支语句 句式:if else(必须是if开头,可以是else if或者else结束,也可以直接结束) if(bool型比较表达式) { 如果上面的条件成立,则执行这里面的代码 } else if(b ...
- 【Linux学习八】脚本编程
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.多层bash#.和source都是当前bash [root@nod ...
- QTCreator 调试:unknown debugger type "No engine"
[1]QTCreator调试,应用程序输出:unknown debugger type "No engine" 如图:下断点->调试程序->应用程序输出 说明:调试器无 ...
- 数据迁移工具Sqoop和DataX功能比较
本文转载自: http://www.cnblogs.com/panfeng412/archive/2013/04/29/data-migration-tool-sqoop-and-datax.html ...