J'ai un problème que je n'arrive pas à comprendre.java.lang.NoClassDefFoundError from websphere
Contexte:
était 7.0.0.19 la version (sans preCompileJsp) Causée par: java.lang.NoClassDefFoundError: org/apache/jsp/_xxx (nom incorrect: com/ibm/_jsp/_xxx) à java.lang.ClassLoader.defineClassImpl (méthode native) à java.lang.ClassLoader.defineClass (ClassLoader.java:275) à java.lang.ClassLoader.defineClass (ClassLoader.java:212) à com.ibm.ws.jsp. webcontainerext.JSPExtensionClassLoader.defClass (JSPExtensionClassLoader.java:181) à com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader._loadClass (JSPExtensionClassLoader.java:133)
Il est le seul JSP qui donnent problème, et seulement sur un spécifique environnement (n o problème sur les autres environnements avec la même configuration) le xxx.class est bien présent dans mon répertoire profile/tmp avec d'autres jsp dans le même répertoire (qui ne donnent aucun problème) et le système de fichiers n'est pas plein.
Tests
Je l'ai fait une copie de xxx.jsp à xxxNew.jsp dans le même répertoire je peux accéder au xxxNew.jsp sans aucun problème (donc il n'y a pas de problème de codage) J'ai donc fait mv de xxx.jsp à xxx1.jsp et n'a eu aucun problème pour accéder à la nouvelle jsp nommé J'ai supprimé le xxx.class dans le répertoire tmp J'ai fait le mv retour au prénom (xxx.jsp) et toujours obtenir l'erreur avec une nouvelle classe xxx.class dans le répertoire tmp. Existe-t-il un cache de classes sur le websphere qui pourrait expliquer cela? (pas de cachespec.xml pour dynacache trouvé dans le module de guerre).
Pourquoi Websphere essaie-t-il de trouver une classe à partir du paquet org.apache.jsp et non de com.ibm._jsp? (comment l'AS choisit le mappage de l'URL aux classes?)
Thxs!