每次jhipster升级其版本时,我都会遇到一个反复出现的问题。我的应用程序在http://localhost:8080空白屏幕突然变为空白。当时我没有重新生成或重新运行yo jhipster
。编译没有错误消息就没问题了。
我通过运行jhipster的手动升级并再次重新生成所有内容来解决它(并且它非常烦人)。令人讨厌的部分是我需要查看每个文件的 diff ,因为我对一些生成的文件进行了一些修改。
我的问题是:
如何在不更改本地代码的情况下调用mvnw
取决于互联网上发布的最新版本的jhipster?
导致空白屏幕的原因是什么?
每次jhipster发布新版本时,是否需要重新生成我的应用程序?
感谢。
答案 0 :(得分:0)
尽管我们的上一个版本修复了所有4.0.X版本都已破坏的升级生成器,但我没有尝试过。我还需要一个更好的升级流程,所以我只是手动执行升级生成器的步骤,这确实使事情变得更容易。以下是您总是可以去的方式:
git checkout --orphan upgrade-jhipster
根据您的分支创建一个孤立分支。孤立分支没有父修订版,因此在合并期间,与主服务器不同的每个文件都将以合并冲突结束。如果没有这个,您只需覆盖您的更改,因为升级中的任何更改都将晚于您的更改。yo jhipster --with-entities --force
并将更改提交到upgrade-jhipster
分支git checkout master
和git merge upgrade-jhipster
如果你使用可视化合并对话框执行某个工具的最后一步,例如IntelliJ,升级过程非常方便,并且不像yeoman那样烦人。
根据您的更改的自定义方式,仍然无法保证这会导致无错误状态。但这正是升级生成器尝试做的事情。一个区别是,手动方法不会删除过时的文件,如升级生成器。但是我正在以这种方式升级我的自定义JHipster项目并且它运行良好
答案 1 :(得分:0)
使用./mvnw
启动应用程序时,您将以开发人员模式启动该应用程序,因此Web前端不是“网络打包”的,因此无法提供服务。如果您想以开发人员模式提供Web前端服务,建议的方法是
./mvnw
yarn start
中,这将启动webpack开发服务器并将其连接到后端。在升级了节点模块之后,您可能必须首先键入yarn
以确保所有依赖项都已导入。
或者,您可以先构建前端
yarn webpack:build
./mvnw
这样做的缺点是,每当前端发生任何更改时,您都必须重新执行webpack构建。如果您使用yarn start
服务前端,则不必这么做。
生产版本将始终对前端进行Webpack。
我注意到的另一件事是,JHipster的某些版本和选项似乎想在build
目录而不是预期的target
目录中构建Web前端。 Web前端应位于target/www/app
中。如果yarn webpack:build
之后不存在,则说明有问题。 ts.config
最有可能具有值"outDir": "target/www/app"
,但可能还有其他地方。我之前必须对此进行更正,并在目录中搜索了需要更改的包含"build/www/app"
的行。
最后一个技巧是删除节点模块,删除目标目录(如果有,则删除构建目录),然后执行以下操作:
yarn install && yarn webpack:build
./mvnw