疑惑
在使用源碼進(jìn)行調(diào)試的時(shí)候墩衙,不知道如何處理的源碼的依賴
birt項(xiàng)目源碼务嫡,由多個(gè)項(xiàng)目組成如何使用這些源碼甲抖?
出現(xiàn)問題的過程
我通過google中英文關(guān)鍵字搜索【birt rptdesigh api】在這個(gè)官方網(wǎng)站 找到了一個(gè)用api創(chuàng)建rptdesign 文件的簡單實(shí)例。
運(yùn)行的環(huán)境:官方集成birt的eclipse心铃,源碼是git-hub中clone的最新版本
運(yùn)行的時(shí)導(dǎo)入的jar包是在birt官網(wǎng)中下載的【BIRT Runtime Release】中的【org.eclipse.birt.report.model_4.5.0.v201506092134.jar】准谚,編譯沒有問題
在導(dǎo)入依賴包的時(shí)候出現(xiàn)了【圖片】這樣的運(yùn)行時(shí)錯(cuò)誤,
我的分析過程
在google之后如何解決Java.lang.NoClassDefFoundError去扣,了解到這種錯(cuò)誤一種常見的原因是找不到類定義柱衔,但是實(shí)際上我解壓這個(gè)jar包查看class文件,實(shí)際這個(gè)類是存在的愉棱。
于是我嘗試直接用源碼調(diào)試,但是導(dǎo)入源碼發(fā)現(xiàn)奔滑,birt的源碼不是一個(gè)項(xiàng)目艾岂,而是由很多個(gè)項(xiàng)目共同組成【圖片】而且源代碼,包和包之間還有很多依賴档押,但我不了解怎么去處理這些依賴澳盐,但是我查到birt應(yīng)該用的是maven來管理項(xiàng)目與項(xiàng)目之間的依賴關(guān)系祈纯,
我分析覺得這種問題可能是api與示例代碼不匹配.導(dǎo)入的jar包是新編譯的包令宿,源碼使用的是舊的api