Je développe actuellement une application web basée sur Struts2 & Composants Spring combinés à un ensemble de bibliothèques tierces dans un framework d'entreprise.Forcer la priorité de classpath avec Tomcat 5.5 sous eclipse
Ces bibliothèques exposent des ensembles de haricots de printemps, à l'aide de fichiers blahblah.xml intégrés dans les fichiers jar fournis.
Je dois remplacer certaines des classes d'implémentation exposées par ces déclarations de bean avec mes propres classes, afin d'ajouter des éléments supplémentaires dans le traitement fourni.
Les gens qui ont conçu le cadre de l'entreprise fait choisi d'exposer les fichiers blahblah.xml au printemps par un Listener & WebApplicationContext spécifique qui définit ces configLocations:
ConfigurableWebApplicationContext cwac = new XmlWebApplicationContext();
cwac.setConfigLocation("classpath*:<somePath>/blahblah.xml");
Pour le moment, je ne vois qu'une seule façon d'atteindre le travail (mais peut-être que je me trompe, s'il vous plaît laissez-moi savoir!): faire une copie de blahblah.xml hors du pot dans une fausse structure de répertoire, modifier la classe d'implémentation de certains beans dans la copie, puis mettre le dossier cela inclut la fausse structure dans le classpath webapp afin de "masquer" l'original.
C'est ce qui m'amène au problème d'être capable de forcer la précédence dans le classpath de TOMCAT 5.5 que j'utilise pour le développement sous eclipse 3.3.
Bien que j'aie ajouté le répertoire contenant la fausse structure dans l'onglet Classpath de la configuration de lancement de mon serveur Tomcat sous eclipse 3.3, l'objet injecté est toujours l'original à la place du mien. Je suppose que mon dossier est placé après les fichiers WEB-INF/lib dans le chemin de classe TOMCAT, mais je n'ai aucun moyen de l'attraper.
Toutes les idées?
Wooow cela fonctionne parfaitement; mettre ma fausse structure dans le dossier src fait le travail! Merci beaucoup. –
De rien. – BalusC