2010-09-18 8 views
0

Je suis confronté à un problème soudainement et je suis fou de savoir pourquoi cela se produirait.Tomcat 6.0.26 cache Java classes

Ma configuration de base est d'utiliser maven (plugin eclipse 0.20), Tomcat 6.0.26.

Jusqu'à quelques jours, j'étais capable de démarrer Tomcat en mode débogage, de faire des changements de code pendant le débogage et de les tester. Ensuite, exécutez prepare-package pour maven, arrêtez et lancez tomcat pour refléter les changements.

Mais depuis quelques jours, l'option de débogage a cessé de fonctionner et eclips ne chargeait pas correctement les modifications de la classe. J'ai d'abord pensé qu'il s'agissait d'un problème de débogage, mais même si j'ai arrêté tomcat, j'ai lancé un paquet de préparation et commencé tomcat, mes changements de classe n'apparaissent pas.

Normalement, je conserve automatiquement la valeur true dans eclipse qui écrit le fichier de classe dans target/classes et maven le copie dans WEB-INF/classes d'où tomcat le lit. Basculer cette option a aidé préparer-paquet pour travailler seulement parfois.

Je ne sais pas si cela peut être un problème avec mon maven-plugin ou tomcat faisant une mise en cache wierd des classes. Ce ne sont pas des servlets ou des JSP mais des classes Java normales.

a voulu savoir si quelqu'un a vu ce genre de question ou est-ce que ma machine me donner mal à

+0

Comment démarrer Tomcat? WTP? Cargaison? Extérieurement? Utilisez-vous la résolution de l'espace de travail? – mhaller

+0

Je lance tomcat à partir de la ligne de commande en utilisant la commande catalina jpda start – Fazal

+0

Ohh, vous utilisez le remplacement du code à chaud via le débogueur. Cela dépend si la classe peut être remplacée, par ex. les signatures restent les mêmes, etc. – mhaller

Répondre

0

Vous pouvez écrire une petite application web, déployer à tomcat d'éclipse, déboguer, modifier le code et voir si son déploiement automatique .. Cela fonctionne, vous pouvez essayer de supprimer votre projet eclipse et de le réimporter et de le reconstruire

0

Ce problème est résolu. mon application avait deux jar (certains contenus mais des noms différents seulement) ayant la même classe (même hiérarchie de paquets) avec des versions différentes. alors quand j'essayais de déboguer, il en prenait un plus ancien. J'ai enlevé le plus vieux pot et le problème est résolu.

Merci