Question

Je rencontre actuellement un problème avec « code remplacement à chaud » ne fonctionne pas sur Eclipse Galileo et JBoss 4.2.3.

Parmi les autres applications, je suis en cours d'exécution d'une explosa Java WAR sur mon JBoss local. Le projet dont il est construit est géré par Maven. Je construis le projet en utilisant la guerre de but Maven. Explosé puis je copie ce répertoire à JBoss avec un script ANT

Quand je suis maintenant en cours d'exécution de l'application et définir un point d'arrêt de n'importe où dans le code, Eclipse correctement à cette ligne arrête en mode débogage. Mais quand je fais une modification du fichier source et de l'enregistrer, Eclipse ne pas appliquer ce changement au JBoss. Par exemple, quand je fais une ligne de code normal dans un commentaire, le débogueur étapes encore sur ce commentaire comme si elle était le code Java régulier. Ou quand je supprimer une ligne, le débogueur semble sortir de la synchronisation avec le fichier et commence à enjamber entre parenthèses.

Mais je ne reçois pas tout « code remplacement à chaud error'-messages soit. Il me semble que Eclipse applique les modifications apportées aux fichiers source, mais ne l'applique pas à JBoss.

Y a-t-il des préférences spéciales qui doivent être activés afin de rendre le code chaud remplacer le travail? Ou y at-il des erreurs dans la façon dont je construis et déployer l'application sur JBoss?

Était-ce utile?

La solution

Je ne fonctionnait pas avec JBoss mais j'ai deux suggestions.

  1. Si vous exécutez votre application dans Eclipse en utilisant la configuration du lancement
    Est-ce votre « Projet » - « Construire automatiquement » Drapeau activé? Dans le cas contraire, le code n'est pas compilé et ignoré runtime t.

  2. Lorsque vous déboguer une application en mode distant, vous ne pouvez pas changer le code, mais vous pouvez modifier la valeur des paramètres. (Je pense)

Autres conseils

J'ai eu des problèmes dans un projet avec Maven et Eclipse. Aucune erreur n'a été présentés, mais le remplacement de code à chaud ne fonctionnait pas. Je lis que « Construire automatiquement » doit être cochée. J'ai vérifié et il fonctionne toujours na pas. J'ai eu quelques erreurs dans d'autres projets dans mon chemin de construction. Je crois que l'erreur était. Quand je fait des recherches, je trouve que nous avons dû décocher la « build Abandonner lors Buildpath erreurs ». J'ai donné les détails dans le lien ci-dessous.

Vérifiez d'abord le projet / Créer automatiquement.

Il peut être également nécessaire de vérifier la le déploiement d'applications de serveur configuration,

par exemple. pour JBoss, dans Eclipse, dans la vue Serveurs, cliquez deux fois sur le serveur et il y a une section Scanners de déploiement avec deux cases à cocher:

  • Ajoutez manquantes scanners de déploiement
  • Supprimer les scanners de déploiement supplémentaires avant l'arrêt

https://docs.jboss.org/author/display / AS7 / déploiement + Scanner + configuration JBoss AS / Scanner déploiement

Je viens récemment eu ce problème dans Eclipse 2019-06 et trouvé que je devais décocher l'option dans « Remplacer classfiles contenant des erreurs de compilation » Préférences-> Java-> Debug -> Code de remplacement à chaud groupe. Toutes les autres options là-bas ont été vérifiées. Avant de faire que je recevais « Code Hot remplaçons échoué - méthode Delete non implémentée » malgré mon seul changement étant de cul un appel System.out.println. Dès que je l'ai changé cette option (dans la même session de débogage), il a commencé à travailler pour moi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top