MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    [Intellij Idea] Actualiser le code en direct (sans redémarrer le jeu)

    Planifier Épinglé Verrouillé Déplacé Tutoriels des membres
    7 Messages 4 Publieurs 1.8k Vues 5 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • U Hors-ligne
      UtopiePhysique
      dernière édition par robin4002

      Bonjour à tous !
      Je vais vous expliquer comment installer hotSwapAgent sur votre Intellij Idea !

      À quoi ça sert ?!

      Cela sert à éviter de redémarrer à chaque fois le jeu dès que vous modifiez le code, les modifications seront en direct, ceci permettra de ne pas redémarrer Minecraft à chaque fois que vous avez un petit souci, un oublie, un rajout à faire, une légère modification ou encore pendant que vous essayez de doser/tester certaines fonctionnalités de votre mod.

      Outils

      Nous aurons besoins de 3 choses très important !

      • hotSwapAgent

      Non ce n’est pas un nouveau event … C’est le nom d’un gros outil qui est à la fois conteneur de plugin, manager de plugin, un registre de plugin … Bref en sois il gère tout ce qui touche aux plugins.

      • DCEVM

      Non ce n’est pas un éternuement, c’est le nom d’une JVM (Java Virtuel Machine) qui contient une amélioration de l’hotSwapAgent tout est pré-configurer.

      • JAVA 1.8.0_181

      Vous connaissez peut être ? 🙂

      Installation

      Premièrement, vérifiez que vous avez bien Java 1.8.0_181, n’essayez pas avec une autre en vous disant “oh ce n’est pas grave sa passe”, car non, ça ne passe pas j’ai essayé … Mais vous pouvez quand même essayer 🙂
      (Dans le doute j’ai téléchargé le JDK & JRE 181)

      Maintenant il faut télécharger DCEVM et hotSwapAgent
      (Pour ma part j’ai téléchargé “DCEVM-8u181-installer-build2.jar” et “1.4.2-SNAPSHOT (2019-06-26)”)

      Vous pouvez ranger dans un endroit le .jar de hotSwapAgent car seulement son chemin nous intéressera. Il sera nécessaire à chaque fois que vous allez lancer le débugger.

      Nous allons devoir utiliser DCEVM, pour cela on va lancer une console CMD en administrateur.

      Maintenez les touches Windows + R, une fois la console ouverte tapez “CMD” puis maintenez une nouvelle fois les touches CTRL + SHIFT + ENTRER

      Nous allons lancer le .jar de DCEVM java -jar "C:\votre-chemin\DCEVM-8u181-installer-build2.jar", (Vous changerez bien sûr le lien vers le dossier n’est-ce pas !) vous devriez avoir un GUI qui s’ouvre de “Dynamic Code Evolution VM installer”, vous devriez voir vos versions Java s’afficher, repérez les versions “1.8.0_181” puis sélectionnez et cliquer sur “Install DCEVM as altjvm” pour le JDK et JRE. Pour ma part dans “Installed altjvm” j’ai Yes (25.71-b01-dcevmlight-26)

      Vous pouvez ouvrir Intellij Idea si ce n’est pas déjà fait, dans le cas contraire je vous conseillerais de le relancer !

      Nous avons besoin du plugin hotSwapAgent, rendez vous dans File > Settings > Plugins, puis cherchez (et installez) le plugin “hotSwapAgent” dans le marketplace.

      Maintenant vous pouvez aller dans un projet et faire un double shift, dans le menu qui apparaît vous cochez compiler.automake.allow.when.app.running.

      On va ensuite ajouter des arguments Java Arguments, il suffit d’aller dans le fichier gradle.properties et d’y ajouter les arguments suivant à la suite de “-Xmx3G”:
      -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5010 -XX:+UnlockExperimentalVMOptions -javaagent:C:\\votre-chemin\\hotswap-agent-1.4.2-SNAPSHOT.jar -XXaltjvm=dcevm

      N’oubliez pas comme précédemment à changer le chemin du fichier d’accès à votre hotSwapAgent.

      Il ne reste plus qu’à lancer ! Pour les noobs comme moi, il faut cliquer sur le Debug (à droite du bouton Run) et non pas le Run car sinon ça marche beaucoup moins bien.

      Vous n’avez plus qu’à sauvegarder vos changements (CTRL + S) et a retourné en jeu.

      En cas de problème

      En cas de problème il sera difficile de vous aider. Quelques trucs si jamais vous avez des soucis:

      Vous ne trouvez pas compiler.automake.allow.when.app.running ? Faite %(#428eff)[double shift] tapez registry en bas sous Actions allez dans Registry ... et vous devriez le trouver dans la liste.

      Le debug ne fonctionne pas ? Le jeu ce lance toujours comme avant sans soucis et sans possibilité de modifier le code en direct ? Allez dans File > Settings > Tools > HotSwapAgent cochez la case Enable HotSwapAgent in all configurations ensuite plus haut allez dans Keymap cherchez Reload clique droit sur Reload Changed Classes puis Add Keyboard Shortcut et mettez une touche raccourci qui permettra de forcer les changements. Vous devrez faire CTRL + S pour sauvegarder les changements du code puis le raccourci que vous allez ajouter.

      Vérifiez que vous avez bien la variable d’environnement JAVA_HOME présente. (Sinon google “variable environnement java_home”)

      Si dès le lancement vous avez une erreur du genre: ERROR: transport error 202 c’est que vous avez une application déjà présente sur le port 5010, vous n’avez qu’à changer le numéro du port dans le Java Argument.

      Si vous avez une erreur ERROR: transport error 202 après avoir sauvegardé le code / recompiler les class, c’est que vous êtes surement en Run et non pas en Debug. (bienvenue au club)

      Vérifiez que vous utilisez bien le bon JDK File > Settings > Build, Execution, Deployment > Build Tools > Gradle et vérifiez dans “Gradle JVM” que vous avez bien Java version “1.8.0_181” !

      Attention à tout ce qui est proxy qui peut causer des soucis, tout ce qui empêche l’accès à 127.0.0.1 et tout autres logiciels pouvant parasiter la connexion local.

      Licence et attribution

      Creative Commons

      Ce tutoriel rédigé par UtopiePhysique et publié sur Minecraft Forge France est mis à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International

      retourSommaire des tutoriels

      1 réponse Dernière réponse Répondre Citer 2
      • I Hors-ligne
        ImperoMaximo
        dernière édition par

        Salut, est-ce possible d’utiliser sur éclipse? Car je ne connais pas IntelifIdea et je trouve éclipse vraiment bien xp

        1 réponse Dernière réponse Répondre Citer 2
        • Mysterious_DevM Hors-ligne
          Mysterious_Dev
          dernière édition par

          Intéressant. Cela fonctionne avec les versions récentes ?

          Adore taper sur les moddeurs 1.7.10.

          U 1 réponse Dernière réponse Répondre Citer 0
          • U Hors-ligne
            UtopiePhysique @Mysterious_Dev
            dernière édition par UtopiePhysique

            @Mysterious_Dev Je développes en 1.15.2 et j’ai aucun soucis.
            C’est surtout pour le “Java” en général et pas forcément pour “Minecraft” donc ça devrait fonctionner avec tout.

            Edit: Finalement pour Eclipse il y à beaucoup plus de choses à faire, je n’ai pas très envie de me pencher dessus, une petite recherche “hotswapagent eclipse setup”, bonne chance !

            1 réponse Dernière réponse Répondre Citer 0
            • Mysterious_DevM Hors-ligne
              Mysterious_Dev
              dernière édition par

              Ok merci pour l’info ;).

              Adore taper sur les moddeurs 1.7.10.

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                Bonjour,

                Je ne comprends pas l’intérêt de tout cela, il y a déjà du hotswap par défaut en Java, il suffit juste de lancer le jeu en debug depuis son IDE (que ce soit via Eclipse ou IDEA). Qu’apporte de plus toutes ces manipulations ?

                U 1 réponse Dernière réponse Répondre Citer 1
                • U Hors-ligne
                  UtopiePhysique @robin4002
                  dernière édition par

                  @robin4002 J’ai essayé il me semble et ça ne fonctionnait pas pour moi 😕

                  J’ai peut être râté un truc … J’ai regardé plusieurs tuto et personne parlait de hotswap par défaut et uniquement des tutos en anglais qui expliquait pour Minecraft sur Intellij Idea.

                  J’avais essayé plusieurs trucs sans rien et j’avais rien qui s’actualiser. J’ai lu que par défaut Java ne pouvait auto rafraîchir des class une fois dans la pile.

                  #boulet

                  1 réponse Dernière réponse Répondre Citer 0
                  • 1 / 1
                  • Premier message
                    Dernier message
                  Design by Woryk
                  ContactMentions Légales

                  MINECRAFT FORGE FRANCE © 2024

                  Powered by NodeBB