2011-06-21 4 views
0

J'ai des difficultés à faire fonctionner une bibliothèque partagée dans un environnement Java EE.Java EE Shared Libs?

En particulier, la bibliothèque contient des aides pour les activités JMS courantes. Cependant, dès que le code entre une fonction de bibliothèque qui exige quelque chose de javax.jms il déclenche une exception ClassNotFound (affirmant qu'il ne peut pas trouver javax.jms.Message, par exemple.)

Comment puis-je contourner cela? Je place la bibliothèque partagée sous $AS_HOME\lib\endorsed - appartient-elle ailleurs? J'ai essayé aussi d'emballer toutes les dépendances à l'intérieur du pot; cela ne semble pas faire beaucoup de différence. Je souhaite vraiment que ce soit beaucoup plus simple qu'il n'y paraît en ce moment. Pour le faire fonctionner, j'ai replacé l'assistant dans un assistant par module dans chaque composant qui nécessite la fonctionnalité. Notez que cela fonctionne, donc je pense que le problème à ce stade est juste des problèmes de classpath? Merci pour tout conseil!

+0

Qu'est-ce que AS utilisez-vous? – Nix

+0

Glassfish 3 .... –

Répondre

1

La meilleure pratique est de mettre le jms.jar dans:

$AS_HOME/domains/<your domain>/lib 

mais vous pouvez toujours juste les placer dans:

$AS_HOME/lib/ 

Si vous n'êtes pas familier avec les domaines, prendre un rapide coup d'œil à Concept of a GlassFish Domain