2011-10-30 5 views
0

Je développe un système JavaEE avec plusieurs applications sur un Weblogic AS (10.3.5) en utilisant Eclipse indigo avec un greffon OEPE. J'ai éteint mon ordinateur, l'ai rallumé, j'ai déclenché l'éclipse, et tout d'un coup j'ai eu des erreurs de chemin de classe partout (je n'ai rien changé). Maintenant, laissez-moi comprendre:
1. Dites que j'ai une application avec un projet EAR qui contient un projet EJB et un projet EJBClient (tous deux dans l'ensemble de déploiement).
2. J'ai écrit un nouveau projet Java régulier, et je veux l'utiliser dans les projets EJB et EJBClient (il doit être visible pour eux).
3. Pour autant que je sache, je peux simplement ajouter ce projet Java à l'ensemble de déploiement du projet EAR, et il sera visible aux projets EJB et EJBClient.
4. Cela a fonctionné pour moi jusqu'ici, mais maintenant j'obtiens des erreurs de chemin de classe et je dois ajouter ce projet de Java au chemin de construction de chaque projet.Comment définir correctement un classpath de projet JavaEE dans Eclipse?

Comment définir le chemin d'accès aux classes lors de l'utilisation de la technologie JavaEE dans Eclipse?

+0

Est-ce un problème avec des dépendances sur d'autres projets ou avec des dépendances sur Java EE API ('@ Stateless',' @ WebServlet', '@ Entity', etc.)? –

+0

@Pedro Le problème est lié aux dépendances d'autres projets. – wafwaf

Répondre

0

Après quelques ajustements, je réussi à résoudre les erreurs:

Tout d'abord j'ai enlevé la bibliothèque nommée « bibliothèques EAR » du chemin de construction de chacun de mes projets réguliers Java (je n'ai aucune idée pourquoi Eclipse les a ajoutés, ils ne devrait pas être là).
Ensuite, pour chaque projet EAR, j'ai supprimé et rajouté chaque projet ou jar qui ne faisait pas partie de l'EAR (projets Java standard, autres projets EJBClient, etc.).
Cela a résolu le problème de ne pas trouver les classes qui ne sont pas incluses dans le fichier EAR, mais j'ai ensuite eu une erreur «dépendance circulaire».
J'ai réduit cette erreur aux projets qui l'ont provoquée - C'était un projet Java classique qui utilisait un projet EJBClient de certaines applications dans son chemin de construction, et le projet EJBClient utilisait également le projet Java dans son chemin de construction.
Cela semble trivial, alors pourquoi ne l'avais-je pas vu en premier lieu? Eh bien, j'ai regardé dans le projet EAR de l'application, et il n'a pas eu le projet java dans l'ensemble de déploiement, et le projet Java n'a pas eu de projet Java comme un «projet requis». Alors où était-ce?
Le projet java se trouvait dans la bibliothèque 'EAR libraries' du projet EJBClient, qui, selon Eclipse, est générée automatiquement en fonction du fichier 'MANIFEST.MF' (vide, btw).
J'ai simplement supprimé et ré-ajouté la bibliothèque 'EAR libraries' du chemin de compilation du projet EJBClient, et cela a résolu le problème, et tout fonctionne maintenant. En conclusion, il semble que le plugin OEPE pour Eclipse ait quelques bogues à corriger.

Questions connexes