在windows中安装JHipster并创建应用

jhipster框架是目前比较流行的一个架构,它为java服务器端开发提供了一整套的解决方案,它能够开发和部署spring boot和anjular web 以及基于spring的微服务应用。在使用jhipster之前,需要先安装nodejs、yeoman和Yeoman,这里提供了两种安装方式:

第一种方式、传统的安装

1、安装Nodejs

LTS是正式版,Current是测试版,一般开发常用的就是LTS正式版,下载完成后,一直next安装即可,不需要设置环境变量,打开控制台,输入node -v出现版本号,即代表安装成功。

安装成功后建议设置npm镜像加速

npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist --global
配置后可通过下面方式来验证是否成功
npm config get registry

2、安装Yarn

输入命令

npm install -g yarn react-native-cli

会自动安装好!
安装完yarn后同理也要设置镜像源:

yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

安装完yarn之后就可以用yarn代替npm

3、安装 Yeoman(需要全局安装)

npm install -g yo

4、安装JHipster

yarn global add generator-jhipster

第二种方式、通过官网给我们的一种安装方式(包管理器安装)

 

1、安装Chocolatey

Chocolatey是一个Windows上的包管理器,类似于linux上的yum和 apt-get

安装步骤,点击这里,官网上提供两种方式,一种是在CMD中,一种是在PowerShell中,这里我们使用CMD中的安装:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

打开CMD敲入命令,回车,就会自动安装,并且自动配置环境变量。

2、安装JHipster

choco install jhipster

回车以后,他只会提示Do you want to run the script?

这种提示,我们怎么知道他要下载什么,终于他成功的下载了所有的组件,包括我们有的(Node, Yarn, Yeoman, JDK 和 Git),如果我们电脑上有JDK 和 Git,或者不喜欢这种安装方式的可以选择第一种方式。

安装成功后测试

安装成功后,我们尝试生成一个应用,输入:

yo jhipster

Jhipster创建应用时的问题

你选择的问题答案不同可能会影响到接下来的问题显示

Q1. Which type of application would you like to create?

  • Monolithic application: 单体应用
  • Microservice application: 微服务架构的service
  • Microservice gateway: 微服务网关,为微服务请求进行路由和安全
  • JHipster UAA server: 基于OAuth2的安全认证微服务,后文详细解释

Q2. What is the base name of your application?

你期望的应用的名称

Q3. What is your default Java package name?

应用使用的默认包名,使用Yeoman的时候此值会被存储,当下次使用的时候此值会成为默认值,可覆写此值

Q4. Do you want to use the JHipster Registry to configure, monitor and scale your application?

JHipster Registry是一个开源的工具,用于管理你正在运行的应用(微服务注册中心和统一配置中心),只有在微服务架构时才会使用

Q5. Which type of authentication would you like to use?

所有可能的答案:

  • JWT authentication: 使用JSON Web Token
  • HTTP Session Authentication:经典的基于session认证的机制
  • OAuth 2.0 / OIDC Authentication: 使用OpenID连接服务,类似于Keycloak或者Okta
  • Authentication with JHipster UAA server: 此种方式必须提前生成JHipster UAA Server (Q1的选项),它是基于OAuth2的验证服务

Q6. Which type of database would you like to use?

你可以选择的选项:

  • No database,仅使用微服务架构时可用
  • An SQL database: 使用关系型数据库,将会采用Spring data jpa
  • MongoDB
  • Cassandra
  • Couchbase

Q7. Which production database would you like to use?

选择你线上环境使用的数据库,此选项决定src/main/resources/config/application-prod.yml的配置

Q8. Which development database would you like to use?

此选项决定你src/main/resources/config/application-dev.ymlprofile的数据库配置项,你可以选择:

  • H2,running in-memory,数据存储在内存中,服务停掉数据消失
  • H2,with its data stored on disk,数据存储在硬盘,当前只是BETA测试且不能在Windows机器上工作
  • 可以和Q7的选项一致

Q9. Do you want to use the Spring cache abstraction?

由于Spring对于Cache的允许用户使用不同的cache实现,你可以使用chcache(本地缓存),Hazelcast(分布式缓存)或者Infinispan(另一种分布式缓存),此选项可以提升你的应用的性能

Q10. Do you want to use Hibernate 2nd level cache?

此选项仅当你选择SQL数据库并且在Q9选择了一个缓存实现。Hibernate使用二级缓存可以更好的提升它的性能

Q11. Would you like to use Maven or Gradle?

构建此项目时将要使用的工具,Maven或者Gradle

Q12. Which other technologies would you like to use?

多选,你可以为你的应用添加多种技术,如:

  • Social login,社交登录功能
  • API first development using swagger-codegen:通过成swagger-codegen而使你的应用采用API优先的开发模式
  • Search engine using ElasticSearch: 对于ES的支持(Spring Data Elasticsearch)
  • Clustered HTTP sessions using Hazelcast,默认情况下,JHipster只是用Http Session来存储Spring Security的身份验证和授权信息。如果你在集群中运行,使用HTTP Session将会导致一些数据一致的问题,如果你想在集群中复制session,请选择此项

Q13. WebSockets using Spring Websocket

启用Websockets支持,将使用Spring WebSocket,JHipster提供了简单的例子展示如和高效的使用

Q14. Asynchronous messages using Apache Kafka

是否使用Kafka来发布和订阅消息

Q15. Which Framework would you like to use for the client?

选择使用那种客户端技术:

  • Angular version 4+
  • AngularJS version 1.x

Q16. Would you like to use the LibSass stylesheet preprocessor for your CSS?

Node-sass对于设计CSS是一个优秀的解决方案,便于高效使用,你需要运行一个Gulp服务,jhipster会自动配置

Q17. Would you like to enable internationalization support?

JHipster对于国际支持非常友好,你可以在客户端和服务端使用。但一般对于国际化要求不多的场景,可以不选择。

Q18. Which testing frameworks would you like to use?

默认Jhipster提供了Java单元/集成测试(spring`s Junit)和JavaScript单元测试(Karma.js),你也可以选择:

  • Performance tests using Gatling,性能测试 Gatling
  • Behaviour tests using Cucumber,行为测试 Cucumber
  • Angular integration tests with Protractor, angular集成测试Protractor

Q19. Would you like to install other generators from the JHipster Marketplace?

是否需要去JHipster商城安装第三方插件模块

原文地址:https://www.zhengjie.me/blog/433.html

你可能感兴趣的:(JHipster)