Nous avons une application déployée dans le serveur d'applications Websphere 7. Son déployé et fonctionnant dans divers environnements. Mais il a donné une méthode non trouvée exception dans un nouvel env. En creusant plus profondément, nous avons découvert qu'une classe particulière était présente dans 2 pots et que la classe du «mauvais» pot se chargeait dans le nouvel env. J'ai parcouru la vue détaillée du chargeur de classes et la séquence du chargement des pots était différente. Lors d'un examen plus approfondi, il semblait y avoir une variance aléatoire dans l'ordre dans lequel les fichiers jar étaient chargés dans chaque env.Websphere Classloading
2 questions:
1) Sur quel facteur La politique de chargement de classe WAS dépendent & toute suggestion pour remédier à ce problème?
2) Plus généralement, lorsque nous spécifions supposer * .jar dans le classpath pour un programme java, comment une JVM charge-t-elle les jars? Comme est-il alphabétique ou selon le temps modifié ou une telle propriété de fichier?
J'ai déjà effectué ces étapes. Le point de confusion est différent. Supposons que mon dossier lib Web-app contient 4 fichiers comme a.jar, b.jar, c.jar, d.jar, dans quel ordre ces 4 fichiers sont-ils chargés? J'espère que je me fais clair. Ce n'est pas le chargement de bocaux par rapport au serveur et à l'application. Plutôt l'ordre relatif de chargement des pots d'application. – Barun
Si vous avez besoin d'une séquence spécifique, vous pouvez utiliser le paramètre classpath MANIFEST (je n'ai jamais fait cela mais les docs WAS le mentionnent.) 'WEB-INF/classes' est recherché avant les jars dans' WEB-INF/lib' peut extraire les classes dont vous avez besoin dans cet endroit. Une solution de contournement (à une situation indésirable) consiste à supprimer les classes offensives de '.jar' avant de le compresser dans le' .war' – rsp
Hmm ...Les deux ont l'air un peu moche, mais son juste car c'est un problème moche. J'avais essayé la deuxième option. Il a donné plus de problèmes ... en raison d'un environnement de classe mélangé à l'exécution. Une idée sur quels facteurs dépend le chargement de ce pot? – Barun