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 サイトの他の関連記事を参照してください。