成功 import-jdl 后,JHipster 实体菜单为空
Posted
技术标签:
【中文标题】成功 import-jdl 后,JHipster 实体菜单为空【英文标题】:JHipster Entities Menu is Empty after succeed import-jdl 【发布时间】:2021-01-14 08:08:19 【问题描述】:我刚刚通过 docker 镜像安装了 JHipster (VueJS),我直接从 https://start.jhipster.tech/jdl-studio/ 导入了 jdl 文件。
jhipster@66b8176ee05f:~/app$ jhipster import-jdl ../jhipster.jdl
INFO! Using JHipster version installed locally in current project's node_modules
INFO! Executing import-jdl ../jhipster.jdl
INFO! Found .yo-rc.json on path. This is an existing app
INFO! The JDL is being parsed.
warn: In the One-to-Many relationship from Employee to Job, only bidirectionality is supported for a One-to-Many association. The other side will be automatically added.
warn: In the One-to-Many relationship from Department to Employee, only bidirectionality is supported for a One-to-Many association. The other side will be automatically added.
INFO! No change in entity configurations, no entities were updated.
INFO! The JDL has been successfully parsed
INFO! Congratulations, JHipster execution is complete!
然后我在不同的终端上运行了 ./mvnw -P-webpack 和 yarn start。
两者都完美运行,应用程序在 localhost:8080 thru ./mvnw 和 localhost:9000 从 npm start 上运行。
这是我当前的架构(来自 http://localhost:9000/admin/docs):
这是我的问题,虽然架构已经完美导入,但 实体菜单 仍然是空的。
我尝试了以下解决方案,但没有任何效果:
隐身浏览器以空缓存启动。 ./mvnw 和 ./mvnw -P-webpack npm 开始任何机构可以帮助我如何解决这个问题?
【问题讨论】:
【参考方案1】:通过使用-P-webpack
,您停用了 webpack 配置文件,这意味着前端不是由 maven 构建的,也没有捆绑在后端中,这仅在您通过端口 9000 上的 webpack 开发服务器访问前端时才有效。
否则,如果您通过后端端口 (8080) 访问它,您将看到最新成功构建的结果,在您的情况下,该结果是在项目生成时还没有实体。
【讨论】:
我用onlt ./mvnw试过了,结果还是一样,可能是import-jdl CLI没有在VueJS代码中生成任何东西? 我不使用 Vue 蓝图。您是否尝试过始终使用蓝图选项运行 jhipster?jhipster --blueprint vuejs import-jdl ../jhipster.jdl
我会尽力让你知道结果
你好,还是一样,执行你的“命令”时出错,这是我的屏幕视频loom.com/share/bf752c662d674ca99f23adb4e8ff6965
好吧,您只显示运行时而不是生成时间。到目前为止,您还没有展示 import-jdl 期间发生了什么,所以我不知道是否生成了实体客户端文件。【参考方案2】:
您是否检查了标题/菜单模块? 升级时我丢失了所有实体列表。
它似乎已从 src/main/webapp/app/shared/layout/menus.entities.tsx
中删除(使用反应)。对于那些使用 Angular 的人,请检查相同的模块。
还原生成器所做的更改为我解决了这个问题。
【讨论】:
【参考方案3】:直接从 JDL 生成 JHipster 项目会重现该问题。我是用 Angular 实现的,所以它与 Vue 无关。
我通过拆分这一步得到了解决方案:
jhipster import-jdl my-jdl-file.jdl
到:
jhipster
jhipster import-jdl my-jdl-file.jdl
或到:
jhipster import-jdl my-jdl-file-application-part-only.jdl
jhipster import-jdl my-jdl-file-entities-part.jdl
它解决了“没有实体”的问题。
【讨论】:
【参考方案4】:使用 jhipster jdl 命令将所有微服务和网关的整个代码重新生成到一个新文件夹中是一种选择。它对我有用。
jhipster jdl sample.jdl
【讨论】:
以上是关于成功 import-jdl 后,JHipster 实体菜单为空的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jhipster 中通过 OAuth2 成功登录时执行操作
jhipster - 将应用程序部署到 Heroku 后无法运行本地开发配置文件
更新 JHipster 生成器后如何更新 JHipster 项目?