创建应用程序 Creating an application

请查看我们的 video tutorial 创建一个新的JHipster应用程序!

  1. 快速开始 Quick start
  2. 生成应用程序时询问的问题 Questions asked when generating an application
  3. 命令行选项 Command-line options
  4. 提示 Tips

1. 快速开始 Quick start

F首先,创建一个空目录,您将在其中创建应用程序:

mkdir myapplication

进入那个目录:

cd myapplication/

要生成您的应用程序,请键入:

jhipster

回答生成器提出的问题,创建你所需要的应用程序。这些选项将在下一节介绍.

生成应用程序后,您可以使用Maven (./mvnw on Linux/MacOS/Windows PowerShell, mvnw on Windows Cmd) 或者 Gradle (./gradlew on Linux/MacOS/Windows PowerShell, gradlew on Windows Cmd)启动它。

该应用程序将在n http://localhost:8080上可用。

重要的是 如果您想要“实时重新加载”您的JavaScript / TypeScript代码,则需要运行 gulp (for JavaScript/AngularJS 1) 或者 yarn start (for TypeScript/Angular 2+). 您可以在 Using JHipster in development 页面中了解更多的信息。

2. 生成应用程序时询问的问题 Questions asked when generating an application

一些问题根据您以前的选择而有所变化。例如,如果没有选择SQL数据库,则不需要配置Hibernate缓存。

您要创建哪种类型的应用程序?

您的应用程序类型取决于您是否希望使用微服务架构。 这里有关微服务的完整说明; 如果不确定使用默认的 "Monolithic application".

你可以使用::

  • Monolithic application: 单片应用:这是一种古典的,一刀切的应用。它更容易使用和开发,是我们推荐的默认值。
  • Microservice application: 在微服务架构中,这是服务之一。
  • Microservice gateway: 在微服务架构中,这是一个边缘服务器,可以路由和保护请求。
  • JHipster UAA server [BETA]: 在微服务架构中,这是一个保护微服务的OAuth2认证服务器。有关更多信息,请参阅 JHipster UAA 文档

你的应用程序的基础名称是什么? What is the base name of your application?

这是您的应用程序的名称。

您的默认Java包名称是什么? What is your default Java package name?

您的Java应用程序将使用它作为其根包。此值由Yeoman存储,以便下次运行生成器时,最后一个值将成为默认值。当然,您可以通过提供一个新的值来覆盖它。

你想使用JHipster注册表来配置,监视和扩展你的应用程序吗? Do you want to use the JHipster Registry to configure, monitor and scale your application?

JHipster Registry 是用来管理你在运行应用程序的开源工具。.

使用微服务体系结构是必需的(这就是为什么只有在生成整体时才会问这个问题)。

您想要使用哪种类型的身份验证? Which type of authentication would you like to use?

如果您选择了JHipster Registry, 则不会询问此问题,因为它需要使用JWT身份验证。

你可以使用:

  • JSON Web Token (JWT),这是默认选择
  • 一个经典的基于会话的认证机制,就像我们习惯在Java中使用的 (这是大多数人使用 Spring Security). 您可以使用Spring Social这个选项,这将使您能够使用“社交登录”(如Google,Facebook,Twitter):这是由Spring Boot为Spring Social提供的配置。
  • OAuth 2.0认证机制(JHipster然后提供必要的OAuth2服务器代码和数据库表)。

OAuth 2.0和JWT方法允许使用无状态应用程序架构(它们不依赖于HTTP会话)。 您可以在securing your application 页面上找到更多信息.

您想要使用哪种类型的数据库? Which type of database would you like to use?

您可以选择:

您要使用哪个生产数据库? Which production database would you like to use?

这是您将与“生产”配置文件一起使用的数据库。要配置它,请修改您的 src/main/resources/config/application-prod.yml 文件.

如果要使用Oracle,则需要 install the Oracle JDBC driver manually.

您要使用哪个开发数据库? Which development database would you like to use?

这是您将与“开发”配置文件一起使用的数据库。你可以使用:

  • H2,内存中运行 这是使用JHipster的最简单的方法,但是当您重新启动服务器时,数据将丢失。
  • H2,其数据存储在磁盘上。这是目前在BETA测试(而不是在Windows上工作),但这将最终比运行内存更好的选择,因为您不会在应用程序重新启动时丢失数据。
  • 与您选择用于生产的数据库相同的数据库:设置起来有点复杂,但最终应该在与生产中使用的数据库相同的数据库上工作。 这也是 开发指南所述使用liquibase-hibernate的最佳方式。.

要配置它,请修改您的 src/main/resources/config/application-dev.yml 文件.

你要使用Hibernate第二级缓存吗? Do you want to use Hibernate 2nd level cache?

Hibernate 是JHipster使用的JPA提供者。 出于性能原因,我们强烈建议您使用缓存,并根据应用程序的需要进行调整。如果选择这样做, 可以使用ehcache (本地缓存) 或 Hazelcast (分布式缓存,用于集群环境)

你想用Maven或Gradle吗? Would you like to use Maven or Gradle?

您可以使用 MavenGradle. 构建生成的Java应用程序。Maven更稳定,更成熟。Gradle更灵活,更易于扩展,更加炒作。

您想要使用哪些其他技术? Which other technologies would you like to use?

这是一个多选答案,为应用程序添加一个或几个其他技术。可用技术有:

社交登录 (Google, Facebook, Twitter)

仅当您选择了SQL数据库或MongoDB数据库时,此选项才可用。它向JHipster 添加了Spring Social 支持,因此最终用户可以使用其Google,Facebook或Twitter帐户登录。

搜索引擎使用ElasticSearch Search engine using ElasticSearch

Elasticsearch 将使用Spring Data Elasticsearch进行配置。 您可以在我们的 Elasticsearch guide找到更多信息。

使用Hazelcast的聚合HTTP会话

默认情况下,JHipster仅使用HTTP会话来存储 Spring Security的身份验证和授权信息。当然,您可以选择在HTTP会话中放置更多数据。 如果您正在群集中运行,则使用HTTP会话将导致问题, 特别是如果您不使用带有"sticky sessions"的负载平衡器。 如果要在群集中复制会话,请选择此选项以配置 Hazelcast

WebSockets使用Spring Websocket

可以使用Spring Websocket启用Websockets。我们还提供了一个完整的示例,向您展示如何有效地使用框架。

使用Apache Kafka的异步消息 Asynchronous messages using Apache Kafka

使用 Apache Kafka 作为发布/订阅消息代理。

您希望为客户端使用哪个框架? Which Framework would you like to use for the client?

客户端框架使用。

你可以使用:

  • Angular version 4+
  • AngularJS version 1.x (将来会被弃用)

您是否想为您的CSS使用LibSass样式表预处理器? Would you like to use the LibSass stylesheet preprocessor for your CSS?

Node-sass 是一个很好的解决方案,以简化设计CSS。要高效使用,您将需要运行 Gulp 服务器,这将自动配置。

你想启用国际化支持吗? Would you like to enable internationalization support?

默认情况下,JHipster在客户端和服务器端均提供卓越的国际化支持。然而,国际化增加了一点开销,管理更复杂一些,因此您可以选择不安装此功能。

您要使用哪些测试框架? Which testing frameworks would you like to use?

默认情况下,JHipster提供Java单元/集成测试(使用Spring的JUnit支持)和JavaScript单元测试(使用Karma.js)。作为选项,您还可以添加以下支持:

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

您可以在我们的 "Running tests" guide找到更多信息。

您要从JHipster Marketplace安装其他生成器吗? Would you like to install other generators from the JHipster Marketplace?

JHipster 市场 您可以安装附加模块,由第三方开发人员编写的,非官方的功能添加到您的项目。

命令行选项 Command-line options

您还可以使用一些可选的命令行选项运行JHipster。通过键入可以找到这些选项的参考 jhipster app --help

以下是您可以通过的选项:

  • --help - Print the generator's options and usage
  • --skip-cache - 不记得提示答案 (Default: false)
  • --skip-install - 不要自动安装依赖项 (Default: false)
  • --skip-client - 跳过客户端应用程序生成,因此您只能生成Spring Boot后端代码(默认值:false)。这与运行服务器子生成器相同 jhipster server.
  • --skip-server - 跳过服务器端应用程序生成,因此您只能生成前端代码(默认值:false)。这与运行客户端子生成器相同 jhipster client.
  • --skip-user-management - 在后端和前端跳过用户管理生成 (Default: false)
  • --i18n - 在跳过客户端生成时禁用或启用i18n,否则不起作用 (Default: true)
  • --auth - 在跳过服务器端生成时指定验证类型,否则不起作用,但在使用时是强制性的 skip-server
  • --db - 在跳过服务器端生成时指定数据库,否则不起作用,但在使用时是强制性的 skip-server
  • --with-entities - 如果现有实体已经生成(使用其在 .jhipster 文件夹中的配置),则重新生成(Default: false)
  • --skip-checks - 跳过所需工具的检查 (Default: false)
  • --jhi-prefix - 在服务,组件和状态/路由名称之前添加前缀 (Default: jhi)
  • --npm - 使用 NPM 代替 Yarn (Default: false)

提示

如果您是高级用户,则可以通过运行 jhipster client --[options] 和使用我们的客户端和服务器子生成器 jhipster server --[options]。 使用 --help 标志运行上述子生成器以查看可以传递的所有选项。

您还可以使用Yeoman命令行选项,例如 --force 自动覆盖现有文件。所以如果你想重新生成你的整个应用程序,包括它的实体,你可以运行 jhipster --force --with-entities.

results matching ""

    No results matching ""