メインコンテンツまでスキップ

プロファイル

JHipsterには2つのSpringプロファイルが用意されています。

  • 開発のためのdev:開発の容易さと生産性に重点を置いています。
  • 本番環境用のprod:パフォーマンスと拡張性に重点を置いています。

これらのプロファイルには、次の2つの異なる設定があります。

  • Maven/Gradleプロファイルはビルド時に使用されます。たとえば、./mvnw -Pprod packageまたは./gradlew -Pprod bootJarはプロダクションアプリケーションをパッケージ化します。
  • Springプロファイルは実行時に機能します。一部のSpring Beanは、プロファイルによって動作が異なります。

SpringプロファイルはMaven/Gradleによって設定されるため、2つの方法の間に一貫性があります。つまり、Maven/GradleとSpringで同時にprodプロファイルを持つことになります。

注: SpringプロファイルはJHipsterアプリケーションプロパティの設定に使用されるため、共通アプリケーションプロパティのドキュメントをお読みください。

デフォルトでは、JHipsterはdevプロファイルを使用します

Maven/Gradleを使用せずにアプリケーションを実行する場合は、"Application"クラスを起動します(おそらく、右クリックすることでIDEから直接実行できます)。

Mavenでアプリケーションを実行する場合は、Maven Wrapperを使用して./mvnwを実行するか、独自のMavenインストールを使用してmvnを実行します。

Gradleでアプリケーションを実行する場合は、Gradle Wrapperを使用して./gradlewを実行するか、独自のGradleインストールを使用してgradleを実行します。

Angular 2+とMavenを使用する場合、devプロファイルに対してwebpackコンパイルを有効にしてのクリーンな実行が必要な場合は、以下のようにwebappパラメータを渡すことができます。

./mvnw -Pdev,webapp

フロントエンドが変更された場合、Gradleは自動的にdevプロファイルでwebpackコンパイルを実行します(ライブリロードのために、起動時のみnpm startを使用してください)。

本番環境では、JHipsterはprodプロファイルで実行する必要があります

MavenまたはGradleを使用して、本番環境で直接JHipsterを実行できます。

  • Mavenでは、./mvnw -Pprod(またはmvn -Pprod)を実行してください。
  • Gradleでは、./gradlew -Pprod(またはgradle -Pprod)を実行してください。

アプリケーションを実行可能なWARファイルとしてパッケージ化する場合は、MavenまたはGradleにプロファイルを提供する必要があります。以下は例です。

  • Mavenでは、./mvnw -Pprod package(またはmvn -Pprod package)を実行してください。
  • Gradleでは、./gradlew -Pprod bootJar(またはgradle -Pprod bootJar)を実行してください。

WARファイルから本番アプリケーションを実行する場合、デフォルトでは、パッケージング中に使用されたものと同じプロファイルが使用されます。これをオーバーライドする場合は、VM引数の代替を明示的に指定できます。

java -jar jhipster-0.0.1-SNAPSHOT.jar --spring.profiles.active=...

Springプロファイルのスイッチ

JHipsterには、スイッチとして使用される3つの追加プロファイルが用意されています。

  • api-docsでswaggerを有効にします
  • no-liquibaseでliquibaseを無効にします
  • tlsでTLSセキュリティを有効にし、HTTP/2プロトコルを使用します(TLSおよびHTTP/2のドキュメントを参照してください)

これらは、devプロファイルとprodプロファイルの両方と一緒に使用できます。デフォルトでは、api-docsプロファイルはprodでは有効になっておらずdevで有効になることに注意してください。これはapplication.ymlspring.profiles.group.devプロファイルグループプロパティに設定されています。

api-docsno-liquibasetlsは実行時にのみ使用されます。

  • IDEで、spring.profiles.active=dev,no-liquibaseを使用してメインアプリケーションクラスを実行します(devまたはprodプロファイルを明示的に含める必要があることに注意してください)。
  • パッケージ化されたアプリケーションの場合./java -jar jhipster-0.0.1-SNAPSHOT.war --spring.profiles.active=prod,no-liquibaseとなります。

Mavenでは、これらのプロファイルの直接使用もできます。

./mvnw -Pprod,api-docs,no-liquibase
./mvnw -Pdev,no-liquibase

Gradleでは、これらのプロファイルの直接使用もできます。

./gradlew -Pprod -Papi-docs -Pno-liquibase
./gradlew -Pno-liquibase