首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

解決 java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher —— 缺少 ezmorph.jar 依賴

     編輯:Java 綜合教學

錯誤堆棧

Caused by: java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher
    at cn.com.sedee.struts.action.SbdmbAction.outPrint(SbdmbAction.java:121)
    ...
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:109)

根因分析

項目使用 json-lib 進行 JSON 序列化/反序列化,而 json-lib 運行時強依賴 ezmorph 庫進行類型轉換。錯誤明確提示找不到 net.sf.ezmorph.Morpher 類,說明 classpath 中缺少 ezmorph.jar。

解決方案:補全缺失依賴

在 pom.xml 中添加以下依賴(版本號請根據項目實際情況調整):

<dependency>
    <groupId>net.sf.ezmorph</groupId>
    <artifactId>ezmorph</artifactId>
    <version>1.0.6</version>
</dependency>

json-lib 完整依賴鏈(參考)

使用 json-lib 典型需要以下 JAR 包:

  • commons-beanutils.jar
  • commons-collections.jar
  • commons-lang.jar
  • commons-logging.jar
  • ezmorph.jar(缺失項)
  • json-lib-x.x.x-jdk15.jar

避坑提示

  1. 若使用 Maven,直接添加上述 dependency 即可自動傳遞依賴。
  2. 若手動導 JAR,確保所有 JAR 放入 WEB-INF/lib 並重新部署。
  3. 建議遷移至 Jackson 或 Gson:更輕量、性能更好、維護更活躍,無 ezmorph 這類傳遞依賴煩惱。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved