博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM集成activiti6.0错误集锦(一)
阅读量:5319 次
发布时间:2019-06-14

本文共 3027 字,大约阅读时间需要 10 分钟。

项目环境

  • 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的引用,如下
      org.activiti
      activiti-engine
      ${activiti.version}
      com.fasterxml.jackson.core
      jackson-core
      com.fasterxml.jackson.core
      jackson-databind

      如果找不到相关的<groupId>和<artifactId>,可以双击图一中的标记2(也就是相关的依赖jar),将会进入到如下界面,找到相关的<groupId>和<artifactId>

    • 重新引入高版本Jackson
      com.fasterxml.jackson.core
      jackson-core
      2.9.5
      com.fasterxml.jackson.core
      jackson-databind
      2.9.5
    • 强制更新maven项目,解决问题

问题二:Could not open ServletContext resource [diagrams/test.bpmn]

  • 出现原因:在项目启动时自送部署流程的相关配置路径问题,如下图

  • 解决办法:在路径前面加上classpath:  ,代表在当前资源文件路径下查找
    • 如下图,修改自动部署流程路径

问题三:No qualifying bean of type 'org.activiti.engine.ProcessEngine' is defined

  • 问题场景
    • 我的activiti.cfg.xml中配置如下
      classpath:diagrams/test.bpmn
    • Java类中注入方法如下
      @Autowired@Qualifierprivate ProcessEngine processEngine;
    • 报错信息如下图

  • 问题原因
    • 在配置文件中,注入的类是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注入

 

转载于:https://www.cnblogs.com/zuiyue_jing/p/8933432.html

你可能感兴趣的文章
App Store最新审核指南(2015年3月更新版)
查看>>
织梦MIP文章内容页图片适配百度MIP规范
查看>>
POJ No.2386【B007】
查看>>
点击复制插件clipboard.js
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
poj2187 Beauty Contest
查看>>
iOS开发之使用XMPPFramework实现即时通信(一)
查看>>
CentOS 6.5(x86_32)下安装Oracle 10g R2
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
省市县,循环组装,整合大数组
查看>>
Phpstorm中使用SFTP
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>
使用 github Pages 服务建立个人独立博客全过程
查看>>
posix多线程有感--线程高级编程(线程属性函数总结)(代码)
查看>>