最近在使用Eclipse編寫Java程序的時候遇到一個很奇怪的問題,就是JSON用不了了。
我平時都是使用json-lib這個庫來操作JSON的,但是現(xiàn)在在Eclipse中引入這個庫卻出現(xiàn)了問題。
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()); } }
上面這段代碼在以前是可以正常運行的,但是現(xiàn)在卻出現(xiàn)了以下錯誤:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException
我就感到非常奇怪,因為它提示的錯誤并不是直接找不到j(luò)son-lib這個庫,而是找不到一個叫做NestableRuntimeException的異常類。
于是我利用搜索引擎進行了一番調(diào)查,結(jié)果發(fā)現(xiàn)這個錯誤其實跟json-lib并沒有直接關(guān)系。
原來是因為我使用的是較老的版本的Eclipse,而這個版本并不兼容現(xiàn)在較新的版本的json-lib庫。
最后我通過升級Eclipse,同時更新json-lib庫版本,問題得到了解決。
這次遇到問題,讓我深刻體會到了代碼庫的兼容性問題,尤其是在升級軟件或庫文件時一定要慎重考慮,避免出現(xiàn)不必要的問題。