文章目录
- 前言
- 一、问题产生场景
- 1.1、Amateras UML 创建类图没反应
- 二、问题原因分析
- 三、问题定位及解决
- 3.1、定位检查版本支持信息
- 3.2、问题确认过程
- 3.3、解决方式验证
- 四、不想降低版本怎么办?
- 总结
前言
之前项目中在 Eclipse 使用 Amateras UML 创建类图点击 Finish 没反应,点了好几次发现还是没反应,应该是出问题了。根据以往类似问题的解决经验,我的直觉是由于版本不支持而导致的,或者是 Java 版本,或者是 amateras-modeler 版本。而且呢,兜兜转转这篇文章大概快两个月才发出来,历程较为艰辛,对于解决问题的总体思路以及问题定位借此机会做一篇汇总。
不了解或者是对 Eclipse 使用 Amateras UML 创建类图感兴趣的同学可以移步我的另一篇文章:
《Eclipse 插件用法:Eclipse 利用 Amateras UML 生成 Java 类图、时序图和 UML 类图》
一、问题产生场景
1.1、Amateras UML 创建类图没反应
在相关的项目文件夹下创建新的类图文件 .cld 文件,点击“Finish”按键没反应,具体如下图所示:
点点点,哎?就是没反应!XX气死我了!火速找错!
二、问题原因分析
首先我们要明确一点:
- 之前 Eclipse 的确是可以画 Java 类图、时序图和 UML 类图。
- 是在更换了环境之后(升级 Java 版本,amateras-modeler 版本),Eclipse 无法进行画图操作。
根据以往类似问题的解决经验,我的直觉是由于版本不支持而导致的问题,或者是 Java 版本,或者是 amateras-modeler 版本。
三、问题定位及解决
3.1、定位检查版本支持信息
首先我前往 Github 找到了 amateras-modeler 项目的信息,地址如下:https://github.com/takezoe/amateras-modeler,我们可以看到截止 2022 年 4 月 17 日,最新的版本为 2.1.0,在 2020 年 10 月 18 日,项目对 Java LTS 版本的支持提供到了 Java 11,具体如下所示:
而之前大家一直使用的钉子户 Java 8 在 amateras-modeler 1.3.4 提供到了支持。由于没有进行验证,我的猜想如下:
- 如果你坚持使用 Java 8 以及 amateras-modeler 1.3.4 是完全没有问题的。
- 但是如果你 Java 更新到了 Java 11,就必须使用 amateras-modeler 2.0.0 的版本。
- 而对于 Java 11 以上的版本并没有作出支持。
3.2、问题确认过程
这个问题我发现大概有一个多月了,原本想着给作者提交 issue,详细 issue 地址如下:https://github.com/takezoe/amateras-modeler/issues/22,想看看大佬有什么解决方式,因为我的本地 Java 环境已经更新到了最新的 LTS 版本 Java 17,并不想通过降低版本的方式来解决问题,具体如下图所示:
还去微博感慨了一番:
苦等了一个多月,没等到作者的回复…结果等到了一群遇到我这个问题的小伙伴以及国际友人:
同时也排除掉了 Eclipse 版本对于无法画图的影响偏差。
3.3、解决方式验证
由于不想降 Java 环境版本,我将我的猜想进行了提交,具体如下图所示:
接着有小伙伴对我的猜想进行了验证,果然如此!具体如下图所示:
那么:
- 如果你坚持使用 Java 8 以及 amateras-modeler 1.3.4 是完全没有问题的。
- 但是如果你 Java 更新到了 Java 11,就必须使用 amateras-modeler 2.0.0 的版本。
- 而对于 Java 11 以上的版本并没有作出支持。
四、不想降低版本怎么办?
我还是不想降低版本怎么办?
- 不急的话,等作者更新 amateras-modeler 对更高版本 Java 的支持。
- 等作者回复 issue,我也会第一时间在本文更新后续。
- 找其他类图生成工具,白鹿帮大家再找一找有没有可以代替的。
总结
在本文中我们彻底解决了Amateras UML 创建类图无响应、失败的问题,对问题产生的整体流程进行了评判,同时对于产生的此类问题进行了一致性、总结性的梳理,从分析到定位再到解决给出了我的想法,希望大家都能养成系统解决问题的能力。在这里白鹿还是鼓励大家多多与人交流,思维的碰撞才能产生灵感的火花!外国友人也是可以的哦!