2017-02-23 3 views
0

J'ai un projet Web web et un projet Java common.MyEclipse ne déploie pas de source de lien vers WEB-INF/classes

I set 's dossier source comme web' common source de lien s et utilisé dans les classes common sur web projet sans erreur.

Mais quand je déploie web sur tomcat, je reçois toujours l'exception NoClassDefFoundError. Certaines classes de common sont introuvables. Lorsque je vérifie les fichiers déployés, je trouve qu'il n'y a que les classes web dans WEB-INF/classes. Mais les classes common et web sont compilées dans le dossier de sortie par défaut (web/target/classes) défini dans Java Build Path. Si j'ai copié toutes ces classes à WEB-INF/classes, tout fonctionne.

J'ai vérifié le réglage de l'assemblage de déploiement mais c'est déjà correct. Les deux /common (dans common) et /src (dans web) sont définis sur Deploy Path WEB-INF/classes. J'utilise MyEclipse 10 et Tomcat 7.0. Comment puis-je résoudre ça? Merci d'avance.

+0

Avez-vous essayé de laisser la sortie 'common' rester dans' common' et de ne pas essayer de câbler la sortie pour la combiner vous-même? Vous avez combiné les répertoires de sortie lorsque Deployment Assembly est déjà prêt à effectuer la lourde tâche pour vous. – nitind

+0

@nitind Merci pour la réponse mais AFAIK lors de l'utilisation de "source de lien" tous les fichiers source sont tous compilés ensemble, tout comme ils sont d'un projet. Les classes devraient donc être dans le même chemin de sortie. Peut-être que je n'ai pas compris ... – Ulysses

Répondre

0

Je ne sais toujours pas pourquoi mais je suis passé à un autre plan et ai fait common comme un paquet Maven. Je l'ai importé dans web en tant que dépendance à travers maven. Maintenant ça marche.