J'utilise JBoss 7 (la charge de dépendance a été modifiée dans cette version).
Mes applications de guerre téléchargent des pots de serveur et doivent utiliser des classes à l'intérieur, mais il obtient ClassNotFoundException code>.
Je ne trouve donc pas un moyen d'ajouter des dépendances JAR à des modules de manière dynamique -
manifeste.mf code>,
jboss-déploiement-structure.xml code> est une façon statique de le faire. < / p>
3 Réponses :
Il suffit de reformuler la question pour vous assurer que je sonte correctement;
Vous voulez pouvoir télécharger un fichier jar arbitraire sur le serveur, puis utiliser les classes / ressources contenues dans la JVM? Sans redémarrer le JVM et / ou éditer votre configuration de parcours. P>
Si c'est le cas, vous devez charger le bocal dans un chargeur de classe (enchaînant votre chargeur de classe actuel si nécessaire), puis chargez la classe de là. < / p>
supposant que vous stockiez physiquement le fichier jar sur le serveur, vous pouvez par exemple faire quelque chose comme: p> ps. C'est du code brut, je n'ai même pas compilé ni le tester; Il devrait em> travailler, mais rien de plus que cela et il y a la chance d'avoir négligé quelque chose ou fait une faute de frappe; -) p> PPS. Autoriser les fichiers de jar personnalisés à télécharger et les classes à partir de celui-ci à exécuter apportent un certain nombre de risques (sécurité) avec celui-ci. P> P>
J'aime cette réponse mais ne pas - aborder la question. La différence finalement entre définir une dépendance dans JBoss via Manfiét / jboss-déploiement-Structure.xml est qu'il effectue implicitement toutes les classes que vous dépendez de la disponibilité de votre chargeur de classes d'application, sans que vous n'ayez pas besoin de les nommer et de les classer expressément. Cela bénéficie de l'utilisation de tous les systèmes blackbox que vous contrôlez à la main (envoi au gestionnaire JSP, etc.) aura également accès à ces classes (s'ils ont commencé avec le même chargeur de classes de l'application du déploiement).
@rage: Cette question sur Stackoverflow a demandé plus tôt pourrait vous donner des intrants comment organiser des pots: que ce soit votre propre bocal ou des bocaux tiers. P>
Essayez ceci (je l'ai attrapé quelque part sur Internet): avec cette méthode: p> et avec Cet exemple d'appel: p> un bit hacky, mais peut-être qu'il fonctionne ... IT Runtime ajoute tous les fichiers JAR disponibles dans le répertoire de données ou de tests / données à la classe d'exécution. p> p>
Vous mentionnez que la charge de dépendance a été modifiée pour JBoss 7. Avez-vous fait cela en utilisant des versions antérieures de JBoss? Pouvez-vous décrire votre approche précédente?
Je présume que Cette documentation peut être utile