Où mettre les libs externes dans Glassfish
J'ai créé un JSF2 projet avec Netbeans 7 et déployé avec succès sur Glassfish 3.1.
L'oreille fichier a grandi assez gros (6.5 mo) cependant, la plupart sont composés de fichiers jar externes (comme apache commons, solrj, primefaces et pdfrenderer etc.) qui sont copiés dans la guerre/ejb fichiers.
Ma question est: comment puis-je éviter cela et faire mon oreille taille du fichier - il ne doit contenir que les trucs que j'ai créé, à l'extérieur libs ne devrait être déployée une fois sur le serveur.
J'ai cherché sur le web pour obtenir des réponses sur ce sujet et la seule chose que j'ai trouvée a été de mettre les fichiers jar externes sous "domains/domain1/lib' ou 'domains/domain1/lib/ext" dans le répertoire d'installation de glassfish et de décocher l'option "Package" drapeau dans le projet Netbeans paramètres de la bibliothèque, mais rien de cela n'a fonctionné jusqu'à présent (j'ai toujours ClassNotFoundExceptions).
Dois-je faire quelque chose d'autre, de s'adapter à un paramètre de chemin de classe quelque part ou comment puis-je y parvenir? Quelqu'un aurait-il une solution?
Mise à jour: Ok, j'ai découvert que ce n'est qu'il se passe sur mon local Glassfish installer qui vient avec Netbeans (c'est un ordinateur portable avec 64 bits de Windows 7 sur elle). Sur ma télécommande Linux il fonctionne comme prévu, c'est à dire, j'ai pu mettre tous les libs dans 'domains/domain1/lib' - mon oreille fichier est seulement environ 700k maintenant 🙂
Je vais essayer ça sur mon Mac et sur un autre Windows 7 boîte aussi, pour voir si c'est un OS liés question ou quelque chose d'autre.
OriginalL'auteur user871526 | 2011-07-31
Vous devez vous connecter pour publier un commentaire.
Je pense que je peux répondre à la question moi-même maintenant: domain1/lib semble être le bon endroit pour mettre tous ces fichiers jar. Au moins il fonctionne parfaitement sur les 2 boîtes de Linux, j'ai essayé sur mon Mac. J'ai aussi trouvé pourquoi il ne fonctionne pas de la même chose sur mon Windows 7 ordinateur portable.
Le chemin d'accès au domaine est spécifique à l'utilisateur si vous utilisez l'installer Glassfish qui vient avec Netbeans, cela signifie que vous devez mettre les fichiers jar en vertu de
de travailler comme expectd, pots de sous
sur l'autre main semblent être ignoré par le chargeur de classe.
OriginalL'auteur user871526
Le seul répertoire qui fait partie de la classe est le
domain1\lib\classes
répertoire. Mettre vos pots, il y aura les ajouter au classpath.Vous pouvez aussi mettre dans votre oreille fichier sous le
lib
répertoire (anciennement APP-INF\lib). C'est l'endroit pour mettre votre partagé pots.OriginalL'auteur Ivo Abeloos