Spring Boot がホット デプロイメントを実装する方法

angryTom
リリース: 2020-02-14 14:31:40
オリジナル
5760 人が閲覧しました

Spring Boot がホット デプロイメントを実装する方法

Spring Boot でホット デプロイメントを実装する方法

Spring Boot でコードのホット デプロイメントを実装するのは非常に簡単です。コードの変更は、プロジェクトを自動的にデプロイして再起動できます。

1. devtools の依存関係を引用します

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
ログイン後にコピー

このようにして、Java クラスが変更されるとホット アップデートされます。

2. カスタマイズされた構成のホット デプロイメント

次の構成は、カスタマイズされた構成のホット デプロイメントに使用されるため、設定する必要はありません。

# 热部署开关,false即不启用热部署
spring.devtools.restart.enabled: true
# 指定热部署的目录
#spring.devtools.restart.additional-paths: src/main/java
# 指定目录不更新
spring.devtools.restart.exclude: test/**
ログイン後にコピー

3. Intellij Idea の変更

アイデアの場合は、次の 2 か所を変更する必要があります:

1. 自動コンパイルを確認するまたは、手動で再コンパイルします。 [コンパイル]

[ファイル] > [設定] > [コンパイラ - プロジェクトを自動的にビルド]

2, 登録

ctrl Shift alt / > レジストリ >アプリの実行時にコンパイラの autoMake を許可することを確認してください

Notes

1. java -jar モードやカスタム クラス ローダーなどの実稼働環境の開発ツールは無効になります。などは本番環境で認識されます。

2. SpringBoot Maven プラグインの excludeDevtools 属性を無効にしない限り、パッケージ化されたアプリケーションにはデフォルトで devtools が含まれません。

3. Thymeleaf は spring.thymeleaf.cache: false を設定する必要はありません。devtools はデフォルトで自動的に設定します。クリックして完全なプロパティを参照してください。

次は、devtools の自動構成のソース コードの一部です:

@Order(Ordered.LOWEST_PRECEDENCE)
public class DevToolsPropertyDefaultsPostProcessor implements EnvironmentPostProcessor {
    private static final Map<String, Object> PROPERTIES;
    static {
        Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("spring.thymeleaf.cache", "false");
        properties.put("spring.freemarker.cache", "false");
        properties.put("spring.groovy.template.cache", "false");
        properties.put("spring.mustache.cache", "false");
        properties.put("server.session.persistent", "true");
        properties.put("spring.h2.console.enabled", "true");
        properties.put("spring.resources.cache-period", "0");
        properties.put("spring.resources.chain.cache", "false");
        properties.put("spring.template.provider.cache", "false");
        properties.put("spring.mvc.log-resolved-exception", "true");
        properties.put("server.jsp-servlet.init-parameters.development", "true");
        PROPERTIES = Collections.unmodifiableMap(properties);
    }
ログイン後にコピー

4. Devtools は Windows リソース マネージャーの Java プロセスを占有し、開発ツールで強制終了することはできません。これは手動でのみ強制終了できます。強制終了しないと、再起動後、バインドを繰り返すためにポートが選択され、エラーが報告されます。

その他の関連コンテンツについては、PHP 中国語 Web サイトに注目してください。

以上がSpring Boot がホット デプロイメントを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート