簡體   English   中英

來自Websphere的java.lang.NoClassDefFoundError

[英]java.lang.NoClassDefFoundError from websphere

我有一個我不知道的問題。

內容:

是7.0.0.19版本(沒有preCompileJsp)的原因:java.lang.ClassLoader.defineClassImpl(本機方法)處的java.lang.NoClassDefFoundError:org / apache / jsp / _xxx(錯誤名稱:com / ibm / _jsp / _xxx)在java.lang.ClassLoader.defineClass(ClassLoader.java:275)在com.ibm.ws.jsp.webcontainerext.JSPExtensionClassLoader.defClass(JSPExtensionClassLoader.java:181)在java.lang.ClassLoader.defineClass(ClassLoader.java:212) )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 new的新問題我刪除了tmp目錄中的xxx.class我將mv改回了名字(xxx.jsp),但仍然在tmp目錄中得到了新的xxx.class的錯誤。 在Websphere的任何地方都存在可以解釋此問題的類緩存嗎? (在war模塊中找不到dynacache的cachespec.xml)。

為什么Websphere嘗試從org.apache.jsp包而不是com.ibm._jsp查找類? (AS如何選擇從URL到類的映射?)

謝謝!

確保您的webapp類路徑中沒有包含任何可能與WebSphere運行時不兼容的JSP引擎或標准JSP庫的其他實現。 另外,一旦刪除了所有可能不兼容的jar,請嘗試從JSP編譯中刪除生成的類(它們位於{WAS_HOME} / AppServer / profiles / {YOUR_PROFILE} / temp下),因此將觸發重新編譯並丟棄任何使用生成的過時的.class。先前的類路徑狀態。

如果您在應用程序的類路徑中發布了JAR列表,將會很有幫助。

嘗試在WAS控制台上更改Web應用程序類的加載策略:PARENT_FIRST / PARENT_LAST。

此錯誤是由於Websphere錯誤日志導致的:未顯示原始異常。

例如,您應該檢查頁面中是否沒有缺少的jsp標記庫。

請參閱https://www-01.ibm.com/support/docview.wss?uid=swg1PI09596

問候。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM