#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

案头见蠹鱼,犹胜凡俦侣。这篇文章主要讲述#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录相关的知识,希望能为你提供帮助。
作者:汤圆
个人博客:javalover.cc
前言前面我们介绍了,用 Flowable UI 怎么创建一个流程,以及 Flowable UI 如何启动一个流程);
本节我们就记录一下,在前面的学习中踩的一些坑,以资鼓励。
目录

  1. 决策表的保存按钮为灰色
  2. 编辑序列流的流条件时,有时候会界面卡死
  3. 应用程序发布时,报错提示无法解析扩展组件
  4. 执行脚本任务时,报错提示 " 计算juel脚本出错"
  5. 执行脚本任务时,报错提示 “混淆的方法解析,无法解析dayBetween(null,null)”
  6. cmd命令行启动 Flowable UI后,命令行界面卡住,程序没有启动起来
  7. 保存表单(或者其他模块)时,鼠标从右往左划一下任意一个编辑框,保存对话框就会消失
  8. 还是保存相关,不算是一个坑,但是也很坑
正文 1. 决策表的保存按钮为灰色
这个让一般人觉得再正常不过的事情,但是在我这里却浪费了好长时间,如下所示:都是灰色的
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

  • 原因分析:是因为决策表key的命名问题
    决策表key的命名,不能纯数字,必须有英文或者下划线,否则无法保存;
    这个也是在 Flowable 官网看人家的例子才发现的,Flowable官网介绍
  • 解决办法:决策表key命名时,需加英文或下划线,不能纯数字
2. 编辑序列流的流条件时,有时候会界面卡死
序列流就是流程中的连线箭头,流条件就是序列流往下执行的条件,如下所示:
【#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录】
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

点击流条件,会进入到下面的条件编辑界面:
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

此时,有可能点击哪里都无效,界面卡死;
  • 原因分析:暂时未知
  • 解决办法:刷新后,再次编辑就可以了
3. 应用程序发布时,报错提示无法解析扩展组件
报错内容为:Cannot resolve the name extension to a(n) element declaration component.
这个问题还是比较莫名其妙的,最后通过网上查才知道,原来是目录有中文导致的。。。
  • 原因分析:Flowable UI 项目部署的目录包含中文
  • 解决:不要包含中文
4. 执行脚本任务时,报错提示 " 计算juel脚本出错"
在启动流程后,进行脚本任务计算的时候,后台报错提示:计算juel脚本出错
详细的错误描述如下:
Error evaluating juel script: "org.joda.time.Days days= org.joda.time.Days.daysBetween(vacationstartingfrom, vacationuntil); execution.setVariable("amountOfVacationDays", days.getDays()); " of activity id: sid-6880B1A3-B43A-4E77-AF22-090258640D94 of process definition id: a1:2:37543631-3aff-11ec- a55f-0021ccd8e547

从报错可以看到,说是计算juel脚本时出错了,可是我们并没有使用juel脚本啊
  • 原因分析:是因为创建 脚本任务时,如果未指定 脚本的格式,那么就会使用了默认的格式 juel
  • 解决:编辑流程,更新脚本任务的脚本格式为 groovy,如下所示:
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

5. 执行脚本任务时,报错提示 “混淆的方法解析,无法解析dayBetween(null,null)”
在启动流程后,进行脚本任务计算的时候,后台报错提示如下:
groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method org.joda.time.Days#daysBetween.Cannot resolve which method to invoke for [null, null] due to overlapping prototypes between:

  • 原因分析:这个问题比较简单,就是我们在请求表单中没有传入日期数据,就直接提交了,导致后台不知道该用哪个重载方法
  • 解决办法:在请求表单中设置请求日期为必填,这样就可以提早发现问题,不用等到后台报错才知道错误
步骤如下:
  1. 先编辑表单,如下所示,将日期字段设置为必填
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

  1. 然后重新发布应用程序(参考上一节:Flowable UI 如何启动流程))
  2. 此时我们再发起流程,执行任务,会发现日期不填写,就无法提交
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

6. cmd命令行启动 Flowable UI后,命令行界面卡住,程序没有启动起来
这个问题比较隐晦,不太容易发现,我是在启动之后,等了一会,去访问界面发现无响应,才去看的命令行输出,发现没有输出最后面的日志,比如启动花了多长时间,监听的端口等等,如下所示:
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

如果你的在cmd命令行启动后,也是没有显示上图所示的日志,那么就是命令行卡住了
  • 原因分析:cmd默认开启" 快速编辑模式" ,当鼠标点击cmd的任意区域时,就自动进入编辑模式,此时输出会被阻塞;这种现象也称之为假死现象
  • 解决办法:有两种
      1. 临时补救:在cmd命令行界面,按一下回车,可以看到打印了最后几行日志,此时界面可以访问了
      2. 彻底解决:cmd属性-》属性-》选项-》取消勾选" 快速编辑模式" 和" 插入模式" ,如下所示:这里我用的powershell,跟cmd是一样的
    #yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

    文章图片

但是按照上图进行配置后,命令行界面无法通过回车定位到最后一行,也不能用鼠标滚轮进行上下滚动,只能通过右侧的滑动条进行上下滑动(不过这个应该关系不大,因为基本不怎么看日志,只有报错了看下)
7. 保存表单(或者其他模块)时,鼠标从右往左划一下任意一个编辑框,保存对话框就会消失
这个问题说实话,真的很难受,对于我这种喜欢用鼠标全选编辑内容的人来说;
比如下图,我在保存表单对话框中,想要改掉表单的名称,我习惯性地会用鼠标在表单名称的编辑框中,从右往左拉进行全选;
结果拉到头部时,整个对话框就消失了(难受)
#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录

文章图片

  • 原因分析:可能是监测到鼠标焦点,在对话框之外进行了点击操作(这里它应该监测的是划拉操作),导致对话框自动消失
  • 解决办法:改掉自己用鼠标划拉的习惯,直接双击全选,或者键盘Delete删除
8. 还是保存相关,不算是一个坑,但是也很坑
因为 Flowable UI 没有自动保存,而且各种误操作很容易导致界面返回或者退出(比如你编辑一个流程,做了好多内容,结果一不小心,点了右上角的X号或者网页不小心关闭,就全部没了)
它这里的X号会直接关闭,没有什么贴心的提示;
所以建议养成 时不时点一下左上角保存图标的好习惯;
就比如我们每次看别人写的文章,都会习惯性地点个赞再走。
总结上面的问题,有的很容易发现,有的不容易发现;
像中文目录那个,如果网上找不到答案,可能要很久才会解决。。。
所以下面列出几个习惯,仅供参考:
当然,肯定还有其他坑,不过我这边目前接触的不多,发现的就这些,大家有的可以下面留言,一起讨论

    推荐阅读