ホットデプロイメントとは何ですか
プロジェクト開発中に、ページデータまたはデータ構造がしばしば変更されることを誰もが知っています。変更効果を表示するには、多くの場合、変更効果を表示するためにアプリケーションを再起動する必要があります。実際、それは再コンパイルされ生成される新しいクラスファイルです。このファイルは、コードに対応するさまざまな情報を記録し、クラスファイルは仮想マシンのクラスローダーによってロードされます。
Hot Deploymentはこの機能を利用します。クラスファイルが変更された場合、ファイルをロードする新しいクラスローダーが作成されるという事実に耳を傾けます。一連のプロセスの後、結果が最終的に提示されます。
クラスロードメカニズム
コンパイラは、ByteCodeを保存するクラスファイルにコードをコンパイルできます。クラスファイルはさまざまな情報を保存し、最終的には実行および使用するために仮想マシンにロードされます。クラスロードメカニズム(「Java Virtual Machineの詳細な理解」から抜粋)は、仮想マシンがクラスファイルからメモリにクラスを記述するデータをロードし、データをチェック、変換、解析、および初期化し、最終的に仮想マシンで直接使用できるJavaタイプを形成します。
スプリングブートはホット展開を実装します
スプリングブートは、次の方法でホット展開を実装します。
スプリングロード
このメソッドはMavenプラグインの形でロードされるため、Mavenコマンドmvn spring-boot:runされますが、Application.runを使用して実行されます。アプリケーションを開始するときにMavenプラグインメカニズムがバイパスされているため、それは無効です。
POM統合方法:
<build> <plugins> <plugin> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-maven-plugin </artifactid> <dependencies> <依存> <groupid> org.springframework </groupid> <artifactid> sprinded </artifactid> </plugin> </plugin> </plugins> </build>
スプリングブートデブトゥール
この方法は、ファイルを変更した後にアプリケーションを再起動するために使用できます。
POM統合:
<! - Hot Deployment Module-> <Dependency> <groupId> org.springframework.boot </groupid> <artifactid> spring-boot-devtools </artifactid> <optional> true </optional> <! - これには、効果的になるためには真のホット展開が必要です - > </depence>
統合の注意
#Shield Thymeleafキャッシュ(提案:開発環境は偽に設定され、生成環境はtrueに設定されます)spring.thymeleaf.cache = false
1。DevToolsの場合、ディレクトリを指定したり、Hot Deploymentのディレクトリを除外したりできます。
#ディレクトリを追加するファイルは、rettartspring.devtools.restart.additional-paths = src/main/java#rectartspring.devtools.exclude = static/**、public/**を除外するファイル#src/main/java#
ファイルの変更がプロジェクトを自動的に再起動できるようにアイデアを設定します
1.アイデアの設定 - >ビルド、実行、展開 - >コンパイラ、ビルドプロジェクトを自動的にチェックする
2。アイデアの通常のインターフェイスに戻ります。 Macにショートカットキーシフト+オプション+コマンド+/を使用します。ウィンドウのショートカットキーは、Shift+Ctrl+Alt+/です。レジストリを開いて確認します。
compiler.automake.allow.when.app.runningcompiler.automake.allow.when.app.running
上記の設定を介して、サービスを再起動せずにHTMLをロードできますが、Javaファイルを変更すると、サービスは数秒で自動的に再起動します。サービスを再起動したくない場合は、spring.devtools.reatart.enable = false in application.propertiesまたはapplication.ymlを追加する必要があります。
要約します
上記は、編集者が紹介したSpring Boot Integrated Spring-Boot-Devtoolsのホット展開です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!