最近在使用Eclipse編寫Java程序的時候遇到一個很奇怪的問題,就是JSON用不了了。
我平時都是使用json-lib這個庫來操作JSON的,但是現在在Eclipse中引入這個庫卻出現了問題。
package com.example; import net.sf.json.JSONObject; public class TestJson { public static void main(String[] args) { JSONObject jsonObj = new JSONObject(); jsonObj.put("name", "Tom"); System.out.println(jsonObj.toString()); } }
上面這段代碼在以前是可以正常運行的,但是現在卻出現了以下錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
我就感到非常奇怪,因為它提示的錯誤并不是直接找不到json-lib這個庫,而是找不到一個叫做NestableRuntimeException的異常類。
于是我利用搜索引擎進行了一番調查,結果發現這個錯誤其實跟json-lib并沒有直接關系。
原來是因為我使用的是較老的版本的Eclipse,而這個版本并不兼容現在較新的版本的json-lib庫。
最后我通過升級Eclipse,同時更新json-lib庫版本,問題得到了解決。
這次遇到問題,讓我深刻體會到了代碼庫的兼容性問題,尤其是在升級軟件或庫文件時一定要慎重考慮,避免出現不必要的問題。
下一篇vue前端項目打包