7
votes

Impossible de déployer mon projet Web de printemps sur Eclipse Internal Tomcat Server. (Java.lang.classnotfoundException sur Tomcat Startup)

Quand j'utilise un tomcat externe, tout va bien. Mais je dois déployer mon projet sur le serveur interne Eclipse Tomcat afin de pouvoir utiliser l'échange à chaud de la classe DCEVM. Lorsque j'essaie de démarrer Tomcat Server à partir de Eclipse, il est indiqué qu'il n'est pas capable de trouver l'une de mes classes de service que j'ai mentionnées dans mon fichier de configuration de sécurité de printemps comme un haricot. J'ai aussi essayé d'ajouter le projet au chemin de la classe Tomcat, mais cela n'a pas résolu mon problème.

update

J'ai découvert le problème est parce que lorsque je déploie mon projet Web. Pour Eclipse Tomcat Server, aucune copie est copiée sur: xxx

En fait, ce dossier contient ma structure de paquetage SRC / Java / Principale, mais aucune classement est copiée.

LIB Dossier est bien cependant (par exemple, toutes les dépendances de Maven et d'autres copies des copies dans le chemin qu'il est censé)

Je pense qu'il pourrait y avoir quelque chose qui ne va pas mal avec le plug-in M2e-WTP. Je ne sais pas quoi!

J'utilise Eclipse 4.3 BTW.

résolu

J'ai résolu ce problème après ces étapes:

  1. Faites un clic droit sur le projet dans Eclipse> Propriétés> Facettes de projet
  2. Dans le panneau de droite, sélectionnez Runtimes et sélectionnez votre serveur cible. Appliquer et ok.
  3. Dans la liste des modules de serveur, cliquez avec le bouton droit de la souris sur le module de projet et cliquez sur Nettoyer le module de travail
  4. Faites un clic droit sur le serveur lui-même et vous pouvez nettoyer l'annuaire des travaux du serveur et Tomcat l'une après l'autre
  5. Si cela n'a pas fonctionné, essayez Project> Nettoyer et utilisez également l'option "Créer automatiquement" sous l'élément de menu Project.

    c'est ça. Tomcat copie maintenant tous les fichiers .Class sur le serveur cible et vous ne voyez pas d'exception de classe de classe, car Tomcat démarre.


0 commentaires

4 Réponses :


8
votes

[copié à la section de réponse]

J'ai résolu ce problème après ces étapes:

  1. Faites un clic droit sur le projet dans Eclipse> Propriétés> Facettes de projet
  2. Dans le panneau de droite, sélectionnez Runtimes et sélectionnez votre serveur cible. Appliquer et ok.
  3. dans la liste des modules de serveur
  4. Faites un clic droit sur le module de projet et Cliquez sur Nettoyer le répertoire de travail du module clic droit sur le serveur lui-même. et vous pouvez nettoyer l'annuaire de travail du serveur et Tomcat un après un autre
  5. Si cela n'a pas fonctionné, essayez le projet> propre et bascule également Option "Construire automatiquement" sous Projet

    c'est ça. Tomcat copie maintenant tous les fichiers .Class sur le serveur cible et vous ne voyez pas d'exception de classe de classe, car Tomcat démarre.


2 commentaires

Merci! Cela a fonctionné pour moi. Cependant, je suis curieux si quelqu'un sait pourquoi un projet n'aurait pas cette configuration par défaut. J'ai utilisé Eclipse depuis plus de dix ans et c'est la première fois que j'ai même entendu parler de la page de configuration "Facettes du projet". C'est la première fois que j'ai utilisé la version printanière d'Eclipse, alors peut-être que c'est pourquoi j'ai ce problème.


Vous avez mentionné la "liste de modules de serveur et module de projet". Pouvez-vous s'il vous plaît dites-moi où il se trouve?



1
votes

J'ai suivi les étapes de la réponse, mais cela ne fonctionnerait toujours pas pour moi, alors, en plus de ces étapes une fois, j'ai constaté que faire une rafraîchissement sur la cible après avoir effectué une installation propre < / Code> déclenche automatiquement le statut "republie" sur le serveur, de sorte que lorsque le serveur est exécuté, toutes les modifications des classes compilées (nouvelles classes et modifications des éléments existantes) sont ensuite copiées sur wtpwebapps lorsque le serveur est démarré.


0 commentaires

0
votes

J'ai eu le même problème dans le projet dynamique Web converti au projet Maven.

J'ai trouvé une erreur dans les propriétés-> Assemblage de déploiement-> Panneau droit. Il y avait source = src dossier et déploiement chemin = web-inf / classes . Les cours ne pouvaient pas être trouvés par Eclipse.

modifié en source = cible / classes .


0 commentaires

1
votes

J'avais presque le même problème - l'un de mes projets ne l'a pas fait à la zone de déploiement (son pot). Ce que j'ai fait est 1) Supprimer la composition de Tomcat 2) Nettoyer le répertoire de travail Tomcat 3) le plus important: Projet - Nettoyer - Tous . Ensuite, j'ai ajouté l'application à nouveau et ... problème résolu


0 commentaires