案头见蠹鱼,犹胜凡俦侣。这篇文章主要讲述#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录相关的知识,希望能为你提供帮助。
作者:汤圆
个人博客:javalover.cc
前言前面我们介绍了,用 Flowable UI 怎么创建一个流程,以及 Flowable UI 如何启动一个流程);
本节我们就记录一下,在前面的学习中踩的一些坑,以资鼓励。
目录
- 决策表的保存按钮为灰色
- 编辑序列流的流条件时,有时候会界面卡死
- 应用程序发布时,报错提示无法解析扩展组件
- 执行脚本任务时,报错提示 " 计算juel脚本出错"
- 执行脚本任务时,报错提示 “混淆的方法解析,无法解析dayBetween(null,null)”
- cmd命令行启动 Flowable UI后,命令行界面卡住,程序没有启动起来
- 保存表单(或者其他模块)时,鼠标从右往左划一下任意一个编辑框,保存对话框就会消失
- 还是保存相关,不算是一个坑,但是也很坑
这个让一般人觉得再正常不过的事情,但是在我这里却浪费了好长时间,如下所示:都是灰色的
文章图片
- 原因分析:是因为决策表key的命名问题
决策表key的命名,不能纯数字,必须有英文或者下划线,否则无法保存;
这个也是在 Flowable 官网看人家的例子才发现的,Flowable官网介绍
- 解决办法:决策表key命名时,需加英文或下划线,不能纯数字
序列流就是流程中的连线箭头,流条件就是序列流往下执行的条件,如下所示:
【#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录】
文章图片
点击流条件,会进入到下面的条件编辑界面:
文章图片
此时,有可能点击哪里都无效,界面卡死;
- 原因分析:暂时未知
- 解决办法:刷新后,再次编辑就可以了
报错内容为:
Cannot resolve the name extension to a(n) element declaration component.
这个问题还是比较莫名其妙的,最后通过网上查才知道,原来是目录有中文导致的。。。
- 原因分析:Flowable UI 项目部署的目录包含中文
- 解决:不要包含中文
在启动流程后,进行脚本任务计算的时候,后台报错提示:计算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
,如下所示:
文章图片
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:
- 原因分析:这个问题比较简单,就是我们在请求表单中没有传入日期数据,就直接提交了,导致后台不知道该用哪个重载方法
- 解决办法:在请求表单中设置请求日期为必填,这样就可以提早发现问题,不用等到后台报错才知道错误
- 先编辑表单,如下所示,将日期字段设置为必填
文章图片
- 然后重新发布应用程序(参考上一节:Flowable UI 如何启动流程))
- 此时我们再发起流程,执行任务,会发现日期不填写,就无法提交
文章图片
6. cmd命令行启动 Flowable UI后,命令行界面卡住,程序没有启动起来
这个问题比较隐晦,不太容易发现,我是在启动之后,等了一会,去访问界面发现无响应,才去看的命令行输出,发现没有输出最后面的日志,比如启动花了多长时间,监听的端口等等,如下所示:
文章图片
如果你的在cmd命令行启动后,也是没有显示上图所示的日志,那么就是命令行卡住了
- 原因分析:cmd默认开启"
快速编辑模式"
,当鼠标点击cmd的任意区域时,就自动进入编辑模式,此时输出会被阻塞;这种现象也称之为假死现象
- 解决办法:有两种
-
- 临时补救:在cmd命令行界面,按一下回车,可以看到打印了最后几行日志,此时界面可以访问了
- 彻底解决:cmd属性-》属性-》选项-》取消勾选" 快速编辑模式" 和" 插入模式" ,如下所示:这里我用的powershell,跟cmd是一样的
文章图片
-
7. 保存表单(或者其他模块)时,鼠标从右往左划一下任意一个编辑框,保存对话框就会消失
这个问题说实话,真的很难受,对于我这种喜欢用鼠标全选编辑内容的人来说;
比如下图,我在保存表单对话框中,想要改掉表单的名称,我习惯性地会用鼠标在表单名称的编辑框中,从右往左拉进行全选;
结果拉到头部时,整个对话框就消失了(难受)
文章图片
- 原因分析:可能是监测到鼠标焦点,在对话框之外进行了点击操作(这里它应该监测的是划拉操作),导致对话框自动消失
- 解决办法:改掉自己用鼠标划拉的习惯,直接双击全选,或者键盘Delete删除
因为 Flowable UI 没有自动保存,而且各种误操作很容易导致界面返回或者退出(比如你编辑一个流程,做了好多内容,结果一不小心,点了右上角的X号或者网页不小心关闭,就全部没了)
它这里的X号会直接关闭,没有什么贴心的提示;
所以建议养成 时不时点一下左上角保存图标的好习惯;
就比如我们每次看别人写的文章,都会习惯性地点个赞再走。
总结上面的问题,有的很容易发现,有的不容易发现;
像中文目录那个,如果网上找不到答案,可能要很久才会解决。。。
所以下面列出几个习惯,仅供参考:
当然,肯定还有其他坑,不过我这边目前接触的不多,发现的就这些,大家有的可以下面留言,一起讨论
推荐阅读
- #yyds干货盘点#还有这种好事!netty自带http2的编码解码器framecodec
- linux 上查找包含特定文本的所有文件
- Flutter 专题18 易忽略的小而巧的技术点汇总#yyds干货盘点#
- 程序的内存模型
- #yyds干货盘点#盘点MySQL中的那些日志文件
- ES6学习 第三章 字符串的扩展
- 老王读Spring IoC-3Spring bean 的创建过程
- 用云开发搭建的微信答题小程序v1.0
- 11 图 | 硬核讲解 Eureka 增量同步的原理 #yyds干货盘点#