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

Posted 汤圆学Java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#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. 决策表的保存按钮为灰色

这个让一般人觉得再正常不过的事情,但是在我这里却浪费了好长时间,如下所示:都是灰色的

  • 原因分析:是因为决策表key的命名问题

    决策表key的命名,不能纯数字,必须有英文或者下划线,否则无法保存;

    这个也是在 Flowable 官网看人家的例子才发现的,Flowable官网介绍

  • 解决办法:决策表key命名时,需加英文或下划线,不能纯数字

2. 编辑序列流的流条件时,有时候会界面卡死

序列流就是流程中的连线箭头,流条件就是序列流往下执行的条件,如下所示:

点击流条件,会进入到下面的条件编辑界面:

此时,有可能点击哪里都无效,界面卡死;

  • 原因分析:暂时未知
  • 解决办法:刷新后,再次编辑就可以了

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,如下所示:

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. 先编辑表单,如下所示,将日期字段设置为必填

  1. 然后重新发布应用程序(参考上一节:Flowable UI 如何启动流程))
  2. 此时我们再发起流程,执行任务,会发现日期不填写,就无法提交

6. cmd命令行启动 Flowable UI后,命令行界面卡住,程序没有启动起来

这个问题比较隐晦,不太容易发现,我是在启动之后,等了一会,去访问界面发现无响应,才去看的命令行输出,发现没有输出最后面的日志,比如启动花了多长时间,监听的端口等等,如下所示:

如果你的在cmd命令行启动后,也是没有显示上图所示的日志,那么就是命令行卡住了

  • 原因分析:cmd默认开启"快速编辑模式",当鼠标点击cmd的任意区域时,就自动进入编辑模式,此时输出会被阻塞;这种现象也称之为假死现象

  • 解决办法:有两种

      1. 临时补救:在cmd命令行界面,按一下回车,可以看到打印了最后几行日志,此时界面可以访问了
      2. 彻底解决:cmd属性-》属性-》选项-》取消勾选"快速编辑模式"和"插入模式",如下所示:这里我用的powershell,跟cmd是一样的

但是按照上图进行配置后,命令行界面无法通过回车定位到最后一行,也不能用鼠标滚轮进行上下滚动,只能通过右侧的滑动条进行上下滑动(不过这个应该关系不大,因为基本不怎么看日志,只有报错了看下)

7. 保存表单(或者其他模块)时,鼠标从右往左划一下任意一个编辑框,保存对话框就会消失

这个问题说实话,真的很难受,对于我这种喜欢用鼠标全选编辑内容的人来说;

比如下图,我在保存表单对话框中,想要改掉表单的名称,我习惯性地会用鼠标在表单名称的编辑框中,从右往左拉进行全选;

结果拉到头部时,整个对话框就消失了(难受)

  • 原因分析:可能是监测到鼠标焦点,在对话框之外进行了点击操作(这里它应该监测的是划拉操作),导致对话框自动消失
  • 解决办法:改掉自己用鼠标划拉的习惯,直接双击全选,或者键盘Delete删除

8. 还是保存相关,不算是一个坑,但是也很坑

因为 Flowable UI 没有自动保存,而且各种误操作很容易导致界面返回或者退出(比如你编辑一个流程,做了好多内容,结果一不小心,点了右上角的X号或者网页不小心关闭,就全部没了)

它这里的X号会直接关闭,没有什么贴心的提示;

所以建议养成 时不时点一下左上角保存图标的好习惯;

就比如我们每次看别人写的文章,都会习惯性地点个赞再走。

总结

上面的问题,有的很容易发现,有的不容易发现;

像中文目录那个,如果网上找不到答案,可能要很久才会解决。。。

所以下面列出几个习惯,仅供参考:

当然,肯定还有其他坑,不过我这边目前接触的不多,发现的就这些,大家有的可以下面留言,一起讨论

以上是关于#yyds干货盘点#Flowable-UI最新版6.7.0入门篇之踩坑记录的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#Flowable最新版6.7.0入门篇之基于SpringBoot的例子

#yyds干货盘点#最新版Nginx安装教程来了,快来看看

#yyds干货盘点# 牛客最新前端JS笔试百题

#yyds干货盘点#6个常用的 JavaScript 函数

# yyds干货盘点 # 盘点6个Pandas中批量替换字符的方法

#yyds干货盘点#ECMAScript 6 - Symbol