文章目錄
- 前言
- 一、問題產生場景
- 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 創建類圖無響應、失敗的問題,對問題產生的整體流程進行了評判,同時對于產生的此類問題進行了一致性、總結性的梳理,從分析到定位再到解決給出了我的想法,希望大家都能養成系統解決問題的能力。在這里白鹿還是鼓勵大家多多與人交流,思維的碰撞才能產生靈感的火花!外國友人也是可以的哦!我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!