Le plug-in de déploiement à chaud à distance Java bat les plug-ins du marché

arrière-plan

Dans le développement Java, nous rencontrons souvent un tel scénario. Le code doit être exécuté sur le serveur (test ou sandbox), mais chaque fois que nous modifions le code, nous devons passer par une série de processus tels que l'empaquetage -> le déploiement - > démarrage. Ce processus peut prendre aussi peu que quelques minutes ou des dizaines de minutes. Le long processus de packaging gaspille une grande partie de notre jeunesse. Il existe de nombreux plug-ins Java à déploiement à chaud sur le marché, ou ils peuvent modifier uniquement le corps de la méthode mais ne peut pas ajouter de champs et de méthode, ou il ne peut être déployé que localement. J'ai également gaspillé d'innombrables jeunes en déploiement au travail, j'ai donc appris de cette expérience douloureuse et j'ai décidé d'écrire un plug-in de déploiement à chaud à distance pour améliorer l'efficacité. Je vais maintenant partager le plug-in HotSeconds avec tout le monde (ce Les plug-ins sont divisés en HotSecondsClient et HotSecondsServer), j'espère qu'il pourra être utile à tout le monde.

 

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

 

 

Lei Jun a annoncé l'architecture complète du système d'exploitation ThePaper de Xiaomi, affirmant que la couche inférieure avait été complètement restructurée. Yuque a annoncé la cause de la panne et du processus de réparation le 23 octobre. Nadella, PDG de Microsoft : Abandonner Windows Phone et l'activité mobile était une mauvaise décision . Les taux d'utilisation de Java 11 et Java 17 ont dépassé l'accès à Java 8. Hugging Face a été restreint. La panne du réseau de Yuque a duré environ 10 heures et est maintenant revenue à la normale. Oracle a lancé des extensions de développement Java pour Visual Studio Code . La National Data Administration a officiellement Musk a dévoilé : faites un don d'un milliard si Wikipédia est renommé "Encyclopédie Weiji" USDMySQL 8.2.0 GA
{{o.name}}
{{m.nom}}

Je suppose que tu aimes

Origine my.oschina.net/u/3276866/blog/10091251
conseillé
Classement