首页 > 解决方案 > JHipster 从 6.1.2 升级到 6.2.0 的问题

问题描述

我遇到(并解决了)一个重大的 JHipster 升级错误。我的问题很简单,但首先有一点设置和背景故事,所以我将把它分解成几部分。

(0) 开发环境
(1) 升级问题
(2) 调查/修复策略
(3) 解决方案
(4) 问题


(0) 开发环境

Windows 10、Gradle 5.4.1、节点 10.16.3、npm 6.11.2、yarn 1.16.0、MariaDB 10.3、JDK 11、IntelliJ 2019.2.2、git 2.23.0

我的项目:单体应用,使用 Gradle、Angular、JWT 身份验证、用于测试和生产的 MariaDB,没有搜索。


(1) 升级问题

我的代码是 Matt Raible 的书中概述的 21 点项目:The JHipster Mini-Book v5.0.3。我从 JHipster 6.0 开始我的开发。整个夏天,我定期检查代码,并进行了升级:从 6.0.1 到 6.1.1 到 6.1.2(在每种情况下,在解决了一些冲突之后,项目都会顺利编译和运行)。

上周,我注意到 JHipster 6.2.0 的发布。我制作了 6.1.2 工作代码的副本/备份,更新了生成器(npm update -g generator-jhipster),应用了升级(jhipster upgrade),解决了冲突,然后......失败了。堆栈跟踪相当长且涉及。如果有人喜欢,我稍后会添加到帖子中。但是,从本质上讲,测试失败了,应用程序无法启动(仅导致错误页面:“发生错误:-(”,然后是冗长的文本,提示可能出了什么问题,并建议修复)。

恢复到原始代码,一切仍然有效。对两个项目进行比较,唯一的变化是与升级相关的变化。对失败感到惊讶,我挠了挠头,然后做了以下事情。


(2) 调查/修复策略

此时我的项目有两个版本,我将其标记为:(6.1.2-working升级前的原始代码)和6.2.0-broken(原始代码+ Jhipster 升级)。

我创建了第三个新项目(我将其称为6.2.0-fresh),如下所示:

6.1.2-working然后我在和之间进行了比较6.2.0-fresh,并将功能更改从 迁移6.1.2-working6.2.0-fresh。最终,我得到了新6.2.0-fresh的按预期运行。从理论上讲,我可以把东西放在那里,但是:

我在 new6.2.0-fresh6.2.0-broken. 唯一有意义的区别是特定文件的更改:package-lock.json

简单地:

6.2.0-broken我现在可以毫无问题地构建/运行该项目!


(3) 解决方案

从 JHipster 6.1.2 升级到 6.2.0:

现在一切都应该运行良好。


(4) 问题

谢谢!

标签: jhipster

解决方案


至少 David Steiman(“Xetys”,JHipster UAA 流负责人)知道使用jhipster upgrade. https://www.youtube.com/watch?v=Gg5CYoBdpVo

我试着听从他的建议,不要碰生成的类和配置——如果有人试图连接到两个数据库并保持可升级,那就更有趣了。

但这可能只能回答您的最后一个问题,而不是您在从 6.1.2 到 6.2.0 的特定升级中必须进行的深入错误修复的问题。


推荐阅读