JHipster是一个基于nodejs+yeoman的java代码生成器,在整个程序架构上都做好了整合,包括前端mvvm框架(angularjs),前端构建工具(gulp)到后端的微服务框架(spring cloud)和hibernate/mongodb,再到单元测试/ui测试。


JHipster官方网站


这篇文章的目的是创建一个空的能运行成功的springboot项目并将其导入IDE


【Windows7系统】

下载安装:(参考JHipster官方安装流程

安装Java8,这个过程就不说了。

安装git:到官网下载安装即可,将带有git.exe的目录配置到环境变量中(我之前有安装使用过,但没有配置环境变量,一直用的git bash,所以后面要新建项目时会检测不到git)

安装NodeJS,最好选择LTS版本,比较稳定。最新的LTS版本已经包括了npm,类似于Linux中的yum工具,用于命令行下载。新的版本似乎自动配置了环境变量,没有的话就在Path填入安装目录(带有node.exe、npm.exe的目录)。

安装npm:npm install -g npm(最好执行一下,更新npm)(-g参数表示全局,下同)

安装yeoman:npm install -g yo(脚手架工具)

安装bower:npm install -g bower(前端包管理器)(bower是一个很坑的部分,后面给我带来了很多麻烦,毁我青春TAT)

安装gulp:npm install -g gulp-cli(自动化构建工具,可以在不手动刷新页面时自动检测更改并显示)(也可以npm install -g gulp不保证没有问题,如果安装了gulp想换成gulp-cli应先npm rn -g gulp避免冲突)

安装JHipster:npm install -g generator-jhipster

安装yarn:npm install -g yarn(作用同npm,如果想用这个的话可以用npm安装yarn [何必呢])


生成项目框架:

创建目录,到该目录下执行:

yo jhipster创建项目(需要按照它的流程进行一些自主选择,第一次可以建立一个Monolithic applicaion即不使用微服务)

(未截图,网图,我们选第一行的)

choice

mvn运行项目


是不是很简单呢?

然而

事情当然没有这么简单,不然我也没必要将它写出来

毁我青春从这里开始


yo jhipster做好十几个选择之后因为是第一次安装,打印的信息也不知道什么意思,当然随他自己运行,然后就看见了这个画面

yo jhipster error

往上翻一翻:

error3-1

error3-2

这是什么呢,总之是有错误了

但是却意外的可以运行项目:mvn(并不,我第一次时mvn也报错,但没有截图,就当作很顺利吧)

mvn

浏览器打开上面的所写的localhost:8080

errorpage

果然,这不是一个假错误,不过页面上的信息很有帮助

我们可以像调试一样分部执行,看看问题出在哪里

npm install正常执行(用dos界面来画进度条还是很萌的)

bower install报错,毁我青春的bower终于登场了

根据我的观察,遇到不可跳过的问题bower install就会停止执行了,并不会到最后将问题给你汇总一下

我这一次遇到的错误是这个:

error1

看到“不能访问”基本上认定为firewall的原因,github就像是薛定谔的猫,你可以说它在墙内也可以说它在墙外,因为我直接访问这个地址是可以的,平时git clone等命令也可以执行。首先保证自己的防火墙允许和和这一步骤相关的软件通过,也可以将其暂时关闭。如果不是自家的墙,就有可能是国家的墙了。

既然这样,我们就想办法跑到墙外面试一试,很遗憾,有可能也会出这样的问题,而且可能并不是在下载这个部分时遇到,比如我这样:

error2

甚至有可能出现新的问题:

error4

那我们就来搜索一下到底是什么问题呢,我将可能的解决办法按照网传成功概率从高到低列出:

1.git config --global url."https://".insteadOf git://

大概就是git有三种协议git://ssh:// 和 http://,其代理配置各不相同:core.gitproxy 用于 git:// 协议,http.proxy 用于 http:// 协议,ssh:// 协议的代理需要配置 ssh 的 ProxyCommand 参数。这里就是改用http://还是https://的方式来访问。

2.npm uninstall -g bower && npm update decompress-zip && npm install -g bower

重新安装bower。

3.npm cache clean

 bower cache clean

清理缓存。

4.git config --global http.proxy http://127.0.0.1:1080

 git config --global https.proxy https://127.0.0.1:1080

设置http和https代理。


执行过上述之后可以单独再执行bower install,基本上这一步成功了后面就没有问题了。


前三个我都试过,最后两行这种解决办法因为不知道后面的值是不是要改变就没有尝试。

结果就是我后来成功了。

但是结果不代表真相。

真相是并不是每次都成功,墙内、墙外,成功、失败是一个2*2的结果,而且试了三种方法也并不能弄清楚到底是什么起了作用,不过执行过第一、二种之后再有问题就清缓存吧,我的经验是只清理bower就可以了。大概还是网络不稳定的问题。至少有了成功的经验再出现这种问题时我还不至于绝望,相信多试几次,说不定运气好就成功了。


如果bower install成功,那么再执行gulp install也成功就相当于完成了yo jhipster这一步。也可以一步到位直接yo jhipster再执行或yo jhipster --force重新生成。

胜利的果实大概长这样:

success

success

success

过成功可能会出现一些警告,但不求上进的我们只要结果成功就不去管它了。

再来运行一下:mvn

success

终于见到这个页面了

如果想早点看到的话可以到官网上下载sample

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐