StarUML: 外掛載入失敗的解決方法 (無法逆向工程)
阿新 • • 發佈:2019-02-12
某次在安裝並使用StarUML的時候,遇到了一個問題:在選單Tools下面死活都找不到Java的逆向工程的選單。
仔細的查看了一下,發現最下面的小視窗Output欄中有這樣的異常資訊:Failed to load the Add-in "JavaAddIn"。
一開始,先上網搜尋了一下,沒有search到解決方法。
然後就到StarUML的安裝目錄下看了一下這些Add-In到底是以什麼樣的形式存在的,為什麼會安裝失敗呢?
原來在StarUML的安裝目錄下,有一個個的外掛的資料夾,如staruml-java,staruml-xmi,staruml-standard,staruml-rose,staruml-cpp,staruml-csharp,staruml-generator,staruml-pattern。說明在安裝的時候這些外掛目錄已經被正確的複製到安裝目錄下了,這樣的話,就不會是安裝過程中出了什麼錯。
那麼到底是什麼原因呢?
再仔細一看,每個外掛目錄下都有一個指令碼檔案unreg.bat,裡面的內容類似於“regsvr32 /u JavaAddIn.dll”這樣。再一想,StarUML怎麼也不會無緣無故提供這麼一個反註冊的指令碼的,肯定就是為了應對安裝不成功的問題的。
於是就把所有外掛目錄下的unreg.bat都執行了一下,然後重新啟動StarUML。
然後就可以確認成功了,所有的外掛都已經成功的載入了。
經過這麼一次,原因推測如下:
我這臺電腦之前的同事已經安裝過StarUML並且在解除安裝的時候使用了非常規解除安裝方式或者StarUML本身的解除安裝功能就沒有做好,導致登錄檔中了記錄了之前安裝的目錄。然後在我重新安裝了StarUML之後,這些登錄檔資訊又沒有被正確的更新,導致啟動後加載外掛失敗。只有把登錄檔中的錯誤的資訊刪掉,再重新載入才可以正常使用