我有一个我无法弄清楚的问题。
语境 :
是 7.0.0.19 版本(没有 preCompileJsp) 由:java.lang.NoClassDefFoundError: org/apache/jsp/_xxx(错误名称:com/ibm/_jsp/_xxx)在 java.lang.ClassLoader.defineClassImpl(Native Method)在 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)
它是唯一出现问题的 JSP,并且仅在特定环境中(在具有相同配置的其他环境中没有问题)xxx.class 很好地存在于我的 profile/tmp 目录中,而其他 jsp 在同一目录中(都给出没问题)并且文件系统未满。
测试
我在同一目录中将 xxx.jsp 复制到 xxxNew.jsp 我可以毫无问题地访问 xxxNew.jsp(所以没有编码问题)所以我做了一个从 xxx.jsp 到 xxx1.jsp 的 mv 并且没有访问新命名的 jsp 的问题我删除了 tmp 目录中的 xxx.class 我将 mv 返回到第一个名称(xxx.jsp),但仍然在 tmp 目录中使用新的 xxx.class 得到错误。websphere 中是否有可以解释这一点的类缓存?(在 war 模块中找不到 dynacache 的 cachespec.xml)。
为什么 Websphere 尝试从 org.apache.jsp 包而不是 com.ibm._jsp 中查找类?(AS 如何选择从 URL 到类的映射?)
谢谢!