關於jHispster框架在構建中的出現的error修復
yerlkyu@HP-Z440:/xxx/xxxx/jdls jhipster import-jdl pl.jdl
INFO! Using JHipster vers ion installed globall, INFO! Executing import-jdl pl.jdlINFO! Options: from-cli: true INFO! The JDL is being parsed.
Error: The JDL object and the database type are both mandatory. ERROR!
Error while parsing applications and entities from the JDL Error: The JDL obiect and the database type are both mandatory.
Error: The JDL object and the database type are both mandatory. at object.parse (/usr/Lib/node modules/generator-ihipster/node modules/ihinstercore/lib/parser/entity parser. is:59:11)at getJSONEntities (/usr/lib/node modules/ceneratorihipster/node modules/ihipster-core/1ib/idu/idl importer.is: 154:23
at importonlyEntities (/usr/lib/node modules/generator-ihipster/node modules/ihipstercore/ib/idl/idl importer.is: 102:24
at JDLImporter.import (/usr/lib/node modules/generator-ihipster/node modules/ihipster-core/lib/idl/id importer.is:67:43)at JDLProcessor.importJDL (/usr/lib/node modules/qenenator-ihipster/cli/impont-id. is: 76:411
at JDLProcessor. importJDL (/usr/Lib/node modules/generator-ihipster/cli/import-idl.is : 292:38)
at module.exports {/usr/lib/node modules/generator-ihipster/cli/import-idl.is: 446:21)
at Command.command, allowUnknownOption.description.action. args (/usr/lih/node modules/cenerator-ihipster/cii/cli.is:72:36)
at Command.listener (/usr/lib/node modules/qeneratorihipster/node modules/commander/index, is:315:8)
at Command.emit (events.js:189:13)
修改完一份jdl文件,之後我們需要重新生成json文件,通過import-jdl這條指令讓其自動生成文件,然而一直觸發這個錯誤,大概意思是說找不到這.yo-rc文件,其依賴於.yo-rc.json這個文件的開發,由於直接進入jdl文件所在的文件夾不能搜索到根目錄中的.yo-rc.json文件,因此,在根目錄上執行導入jdl文件即可,例如
1. jhipster import-jdl ./jdl/p1.jdl
2. jhipster import-jdl ./jdl/p1.jdl --force
註意這兩條命令的區別,作為前者,僅僅只會變更修改過的信息,不過由於這個框架在運行的過程中有某些原因,有時候並不會自動生成變更文件,那麽此時建議使用指令2,這個時候會強制覆蓋所有的文件,不過這個指令會帶來一個風險,即會把原來的文件覆蓋,比如會生成類似HEAD等亂碼、或者覆蓋原來修改的文件。
其依賴json文件的生成生成,json文件如圖所示,
生成的文件,比如mapper層,數據庫表結構,DTO、impl等接口的生成都是依賴於這個jdl的生成,這個框架的集成會自動覆蓋之前生成的文件,如果你已經做了修改的話,建議通過查詢修改歷史 記錄,恢復原來修改的數據,這個是這套框架的一個bug,開著團隊聲明說他們已經修復了這個錯誤,但看起來並不是很好的能夠修復他,因此,我們需要進行手動修復。修復過程如圖所示
至於說jHipster這個框架所生成的mapper文件則是通過運行gradle 服務,使其自動生成*mapper這個映射層文件。
參考資料
jhipster官方網站:https://www.jhipster.tech/
關於jHispster框架在構建中的出現的error修復