2011-09-08 3 views
4

Ceci est un problème simple: le comportement par défaut d'eclipse est de lancer tomcat même si le projet a des erreurs de compilation. Comment puis-je désactiver cette fonction, de sorte qu'eclipse se plaint des erreurs de compilation et empêche le démarrage de Tomcat?Eclipse démarrant tomcat avec erreurs de compilation

Répondre

1

Vous ne pouvez pas désactiver cette fonctionnalité dans Eclipse.

Il y a plusieurs choses à noter ici:

Tomcat est un processus externe, et que vous publiez à elle. Donc, ce que vous voulez vraiment, c'est que vous ne publiez pas quand vous avez une erreur. Vous pourriez avoir une erreur dans une JSP, dans un fichier XML, n'importe quoi.

Tomcat est peut-être déjà en cours d'exécution. Que feriez-vous dans ce cas? Redémarrez le serveur? Supprimer le fichier de classe de la configuration de tomcat? Vous ne pouvez pas toujours le faire. Par exemple sous windows, si le fichier est ouvert, le fichier .class ne peut pas être supprimé.

Aussi, lorsque Eclipse compile un fichier java, et il trouve une erreur de compilation, il crée encore le fichier de classe, mais avec quelque chose comme [*]:

public void foo() { 
    throw new Error("Unresolved compilation problem: \n\tFOOBAR cannot be resolved\n"); 
} 

ce qui signifie que le fichier de classe est techniquement valide. Lorsque vous exécutez des processus externes, vous n'êtes plus sous le contrôle complet d'Eclipse. Par conséquent, les mêmes règles ne s'appliquent pas. Vous pouvez toujours demander la nouvelle fonctionnalité si.

[*] Vous pouvez vérifier cela en utilisant jad ou similaire.

+0

Cela a été utile. Malheureusement, cela a encore réduit mon respect pour l'éclipse. Il change automagiquement mon code, sans me le dire, afin qu'il puisse satisfaire les erreurs de compilation? Effectivement ce que je veux, c'est eclipse de ne pas publier automatiquement mes changements sur tomcat, sauf si je le dis. Une fois que ce comportement peut être appliqué, alors il peut faire des vérifications et seulement une fois que je n'ai aucun problème de compilation, aucun problème de jsp ou tout autre problème de validation (xml, etc.) qu'il peut publier. Je me demande pourquoi ce n'était pas le comportement par défaut, je suppose que les concepteurs pensaient que ce serait une excellente fonctionnalité qui accélérerait le développement. –

0

Il semble qu'aucun paramètre de ce type n'existe dans eclipse. Il y a un onglet d'erreurs qui vous montrera si le projet a des problèmes. Cela devrait aussi rattraper les erreurs de compilation.

1

Cela peut vous aider:

Prompt for launch

Préférences -> Exécuter/Debug -> Continuer lancement si le projet contient des erreurs. La valeur par défaut est "Invite", donc soit vous l'avez modifié par inadvertance en "toujours", soit les lancements de Tomcat ne respectent pas ce paramètre.