2010-11-23 4 views
6

J'utilise Eclipse Helios et je me demandais comment ajouter un projet de bibliothèque à mon dossier qui sera copié dans le répertoire de construction où réside mon projet compilé.eclipse helios: tomcat project - le pot ne sera ni exporté ni publié. runtime ClassNotFoundExceptions peut entraîner

actuellement j'ai fait ce qui suit:

  1. a créé un répertoire lib dans la racine de mon projet
  2. copié les pots appropriés pour que dir
  3. Mon projet -> propriétés -> Chemin de génération Java - > ajouter des jars et j'ai ajouté tous les jars de ce répertoire.

après avoir ajouté tous les pots que je suis l'avertissement suivant en ce qui concerne chacun des fichier jar:

jar will not be exported or published. runtime ClassNotFoundExceptions may result 

d'abord comment puis-je ajouter le répertoire des pots au lieu de pots individuels? et la deuxième question est comment puis-je faire pour que les bibliothèques seront déployées correctement lors de la compilation de mon application?!

Répondre

5

Il peut être sur:

Pouvez-vous passer à la vue du navigateur, clic droit actualiser le projet, assurez-vous qu'il est pas dans le LIB dir ,
Ensuite, essayez et faites glisser le fichier JAR dans le répertoire lib pour voir s'il s'affiche.

Lorsque vous avez le contrôle total de vous conteneur Web/serveur d'applications, le déploiement est aussi facile des fichiers jar comme déposer le dossier dans votre dossier lib commun.
Si vous n'emballez pas vos applications Web en tant que fichier war, c'est encore plus simple car il vous suffit de déposer les fichiers dans le dossier WEB-INF/lib de votre webapp.
Mais si vous n'avez pas le contrôle total de votre serveur Web ou de votre serveur d'applications, votre seul choix consiste à empaqueter les fichiers jars que vous avez utilisés avec votre fichier war.

Lors du développement d'un projet Web à l'aide de mon utilitaire récemment développé (un fichier jar), j'ai rencontré une erreur NoClassDefFound. Bien sûr, il est assez évident que le fichier jar que j'ai créé et que j'utilise sur mon projet web est introuvable (non visible dans le CLASSPATH).
L'ajout du jar au chemin de compilation a seulement éliminé le problème de compilation. Glisser le fichier jar dans le dossier lib de mon espace de travail Eclipse n'est pas une très bonne idée.
Il m'a fallu quelques heures avant de comprendre la solution:

  1. Clic droit sur votre projet web
  2. Cliquez sur Propriétés
  3. Sélectionnez J2EE Module Dependencies
  4. Cliquez sur le Bibliothèques Web Tab
  5. Ajoutez des jarres externes (si le pot est en dehors de votre projet). Une entrée sera ajoutée sous Jar/Module, assurez-vous de cliquer sur la case à cocher (cochée).

Et tout devrait bien se passer. J'ai essayé d'exporter vers un fichier de guerre et ensuite vérifié le contenu et mes fichiers jar sont en effet déployés avec la guerre.

  • un problème de configuration du projet

L'OP ufk mentionne dans le commentaire:

Je résolu le problème par:

  • l'ajout d'un « Web App Bibliothèques "bibliothèque dans" Java build path " et
  • ajouter tous les pots pertinents dans WebContent/WEB-INF/lib
+0

Si ufk copiait les fichiers jar via l'explorateur de fichiers (nautilus, windows explorer), le problème d'actualisation de fichier est le bon. Sélection du projet dans Eclipse et en appuyant sur F5 devrait faire. – Alfabravo

+0

merci beaucoup. J'ai résolu le problème en ajoutant une bibliothèque "Web App Libraries" dans "java build path" et en ajoutant tous les liens pertinents dans WebContent/WEB-INF/lib – ufk

+0

@ufk: merci pour vos commentaires. Je l'ai inclus dans ma réponse. – VonC

8

éclipse Junu:

dans un projet web, après avoir ajouté pot pour construire chemin, il faut l'ajouter à

Deployment Assembly 

(dans les propriétés du projet)

lors de l'ajout ce pot à la presse « Assemblée de déploiement » sur le bouton Ajouter et sélectionnez

Java Build Path Entry 

(et non autre espace de travail ou de l'option système de fichiers)

+0

Cela m'aide vraiment beaucoup, merci :) – isaacselement

0

je faisais face au même problème, comme à chaque fois que je l'exportation mon application Web en tant que fichier war, les fichiers jar externes ajoutés n'ont pas été inclus dans le répertoire app/lib, provoquant des exceptions lors du déploiement.

vous devez changer la vue du navigateur, clic droit actualiser le projet, assurez-vous qu'il est pas dans le LIB dir (mais dans le dossier du projet)

puis essayer de glisser-déposer le fichier JAR dans le répertoire lib dir et voir si ça se voit.

Questions connexes