arrière-plan
scènes à utiliser
- Le code IDEA modifié localement peut être directement déployé à chaud sur le serveur distant en un seul clic, ce qui ne prend que quelques secondes.
- Prend en charge la modification des blocs de code, l'ajout de champs, l'ajout de méthodes et l'ajout de nouvelles classes.
- Prend en charge certains frameworks open source tels que Spring, SpringMVC et MyBatis. Par exemple, l'ajout d'un champ @Autorwired ou l'ajout d'une interface MyBatis ou la modification d'un fichier .xml peut également prendre en charge le déploiement à chaud.
- Le point le plus important est qu'il peut prendre en charge une expansion libre. Par exemple, si le framework interne de l'entreprise ou certains nouveaux frameworks tiers doivent effectuer certaines opérations pour actualiser le cache ou le contexte après le déploiement à chaud des fichiers, il peut également être personnalisé. .
Avec les fonctionnalités ci-dessus, l'efficacité du déploiement peut être augmentée d'au moins 100 fois. Cependant, le déploiement à chaud et la correction de bugs sont loin d'être l'objectif de ce plug-in. Ce n'est qu'un petit test. Mon objectif est le développement en ligne. Le serveur est votre extrémité d'exécution, et le local n'est qu'un terminal pour écrire du code.
Utilisez la démo
Après avoir installé le plug-in, il y a un bouton à côté de Debug pour ouvrir ou fermer la connexion à distance.
Les versions supérieures d'IDEA peuvent être activées et désactivées en cliquant sur Exécuter->HotSeconds Start/Stop.
Lorsque vous l'ouvrez pour la première fois, les options de configuration apparaîtront et vous pourrez configurer les répertoires locaux dans lesquels télécharger les fichiers sur la télécommande.
Démonstration de déploiement à chaud
Il s'avère que le code ressemble à ceci
@Controller
@RequestMapping("/view")
public class HelloViewController {
@RequestMapping("/test")
@ResponseBody
public String test() {
return "hello,test";
}
}
Nous modifions le code pour
@Controller
@RequestMapping("/view")
public class HelloViewController {
@RequestMapping("/test")
@ResponseBody
public String test() {
return "hello,"+name();
}
private String name(){
return "Tom";
}
}
Faites un clic droit et sélectionnez Échanger à chaud ce fichier vers un fichier distant
Ensuite, vous pouvez déployer à chaud le code sur la télécommande, actualiser la page du navigateur et le code prendra effet.
Nous ajoutons ensuite un champ injecté et un contrôleur
Cliquez avec le bouton droit pour déployer à chaud, actualisez la page Web pour voir les résultats
Modifions le code Mybatis pour UserMapperXml.xml
Exécutez un déploiement à chaud par clic droit et actualisez la page Web pour voir les résultats.
Compilation à distance et déploiement à chaud
Il existe une fonction de compilation à distance et de déploiement à chaud dans le menu contextuel, qui est principalement utilisée pour résoudre le problème des versions locales et distantes incohérentes de jdk. Elle est compatible avec les problèmes de démarrage de jre et de lombok.
Package jar de déploiement à chaud et .class dans le package jar
Ouvrez le .class d'un package jar, cliquez avec le bouton droit et vous verrez deux options. Vous pouvez déployer à chaud le .class actuel sur la télécommande ou vous pouvez déployer à chaud l'intégralité du package jar sur la télécommande.
Déploiement automatique à chaud
Le déploiement automatique à chaud peut être défini dans Exécuter-> Paramètres HotSeconds-> Paramètres. Tant que le fichier local est modifié, il sera automatiquement déployé à chaud sur le fichier distant.
N'oubliez pas de sauvegarder (ctrl+s/command+s) après avoir apporté des modifications, sinon il y aura un délai
méthode d'exécution à distance
Livré avec une fonction très puissante, exécution à distance de méthodes statiques sans paramètres
De cette façon, vous pouvez exécuter directement des fonctions distantes sans écrire d'interface. Vous pouvez appeler certains paramètres ou méthodes non statiques dans cette fonction. Au milieu, il vous suffit de le maintenir vous-même, comme le contexte du conteneur Spring, qui est très pratique.
Documentation d'installation
Ce plug-in est divisé en HotSecondsClient et HotSecondsServer. Veuillez cliquer sur le document ci-dessous pour consulter le didacticiel d'installation détaillé.
Lien vers la documentation d'installation