Maison >Java >javaDidacticiel >Comment Spring Boot implémente le déploiement à chaud
Comment implémenter le déploiement à chaud dans Spring Boot
C'est une chose très simple d'implémenter le déploiement à chaud de code dans les modifications de code Spring Boot. peut être automatiquement déployer et redémarrer le projet.
1. Référencez la dépendance devtools
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
De cette façon, lorsqu'une classe Java est modifiée, elle sera mise à jour à chaud.
2. Déploiement à chaud de configuration personnalisée
La configuration suivante est destinée au déploiement à chaud de configuration personnalisée et n'a pas besoin d'être définie.
# 热部署开关,false即不启用热部署 spring.devtools.restart.enabled: true # 指定热部署的目录 #spring.devtools.restart.additional-paths: src/main/java # 指定目录不更新 spring.devtools.restart.exclude: test/**
3. Modification d'Intellij Idea
S'il s'agit d'une idée, vous devez modifier les deux endroits suivants :
1. ou recompilez manuellement le compilateur
Fichier > Paramètres > Compilateur-Build Project automatiquement
2. S'inscrire
ctrl + shift + alt + / > Registre > ; Vérifier l'autorisation automatique du compilateur lorsque l'application est en cours d'exécution
Notes
1. Les outils de développement de l'environnement de production seront désactivés, tels que la méthode java -jar ou la classe personnalisée. le chargeur, etc. sera reconnu comme un environnement de production.
2. Les applications packagées n'incluront pas devtools par défaut, sauf si vous désactivez l'attribut ExcludDevtools du plug-in SpringBoot Maven.
3. Thymeleaf n'a pas besoin de configurer spring.thymeleaf.cache : false, devtools le définira automatiquement par défaut, cliquez pour vous référer aux propriétés complètes.
Ce qui suit fait partie du code source pour la configuration automatique des outils de développement :
@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. Les outils de développement occuperont le processus Java dans le gestionnaire de ressources Windows et ne pourront pas être supprimés dans les outils de développement. ne doit être tué que manuellement, sinon après le redémarrage, le port sera sélectionné pour une liaison répétée et une erreur sera signalée.
Pour plus de contenu connexe, veuillez faire attention au Site Web PHP chinois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!