【问题标题】:How to update the JHipster project after updating JHipster generator?更新 JHipster 生成器后如何更新 JHipster 项目?
【发布时间】:2025-12-16 19:20:02
【问题描述】:

我按照 page 运行命令更新了我的 JHipster 安装

npm update -g generator-jhipster

但是要更新我的应用程序,我不确定应该在哪里运行下一个命令 yo jhipster

我尝试从现有项目的根目录运行它,但它要求我输入新项目的名称。

我尝试在现有项目的根目录之上运行它,然后它还询问我新项目的名称。但是这次我输入了相同的名字,jhipster生成过程就跑了。然而,像 package.json 或 Gruntfile.js 或 bower.json 这样的主要文件没有任何变化

更新 JHipster 生成器后,更新 JHipster 项目的正确方法是什么?

【问题讨论】:

    标签: java spring yeoman-generator jhipster


    【解决方案1】:

    JHipster 开发人员在推特上回复说yo jhipster 必须在项目根文件夹中执行。

    【讨论】:

      【解决方案2】:

      在 [jhipster 发布] (https://jhipster.github.io/2015/05/31/jhipster-release-2.14.2.html) 之后: 如何升级

      更新您的 JHipster 版本:

      npm update -g generator-jhipster
      

      然后你可以在再次运行时更新你的项目

      yo jhipster
      

      您还可以通过再次运行实体子生成器来更新您的实体,例如,如果您的实体名为 Foo

      yo jhipster:entity Foo 
      

      【讨论】:

      • 这对我不起作用(3.1.0 -> 3.2.0)。新项目安装正常(3.2.0),但现有项目仍绑定到 3.1.0
      • 我正要发布同样的内容。 Jhipster 生成器针对现有应用报告 3.1.0,但在新目录中运行时报告 3.2.0。
      【解决方案3】:

      JHipster 现在有一个关于升级应用程序的页面。

      https://jhipster.github.io/upgrading-an-application/

      TL;DR

      运行升级子生成器

      进入应用的根目录:

      cd myapplication/

      要升级您的应用程序,请输入:

      yo jhipster:upgrade

      如果您想在没有新的 JHipster 版本可用的情况下运行升级子生成器,请键入:

      yo jhipster:upgrade --force

      【讨论】:

        【解决方案4】:

        如果你想更新你需要运行的所有实体

        yo jhipster --with-entities
        

        项目的根目录

        【讨论】:

          【解决方案5】:

          我们的 jHipster 单体项目基于生成器的较旧版本,并且仍然依赖于客户端的 bower / angularjs。因此,自动更新功能永远不会起作用。

          我一直在每隔一个 sprint 手动更新 spring-boot-starter-parent 以尝试将其提升到 2.x 奇偶校验,但由于各种依赖问题,我仍然无法离开 1.5.x 版本流 (主要)休眠。

          如果您与自己的单体项目在同一条船上,作为一个可能的建议:

          • 下拉选择 jhipster-generator 的版本
          • 生成一个“hello world”入门单片项目
          • 将生成的 pom.xml 与自己的项目进行比较
          • 将生成的实体和配置文件与您自己的项目进行比较

          【讨论】:

            【解决方案6】:

            在项目的根目录下运行以下命令。另外,请确保在升级项目之前删除节点模块和目标文件夹。

            哟 jhipster:升级

            【讨论】:

              【解决方案7】:

              jhipster --force --with-entities 这就是我的做法(npm)

              【讨论】: