前言
這篇建立在上一篇<a href="http://www.reibang.com/p/4979d6eb4ea7">nutch2.2.1與solr4.5.1的整合</a>之上,nutch編譯的時(shí)候報(bào)錯(cuò)并不可怕设捐,可怕的是運(yùn)行時(shí)的錯(cuò)誤借浊,一個(gè)錯(cuò)誤可能就葬送了你的一天。
nutch2.2.1與hbase1.1.1報(bào)的一個(gè)錯(cuò)
org.apache.gora.util.GoraException: java.lang.NumberFormatException: For input string:
圖一
遇到這種問題我的第一直覺是沒有設(shè)定utf-8萝招,可是看了一眼core-site.xml,發(fā)現(xiàn)設(shè)置了蚂斤,然后懷疑了版本問題(apache的東西的版本問題永遠(yuǎn)都是個(gè)大問題),具體可能就是jar包的不兼容
查看ivy.xml
<dependency org="org.apache.gora" name="gora-hbase" rev="0.3" conf="*->default" />
做第一步嘗試提高gora的版本即寒,發(fā)現(xiàn)最新的是0.6.1橡淆,所以做如下更改
<dependency org="org.apache.gora" name="gora-hbase" rev="0.6.1" conf="*->default" />
可是發(fā)現(xiàn)Hbase1.1.1對gora還是太高。
圖二
進(jìn)一步的嘗試
將runtime/local/lib/hbase-0.90.4.jar
刪掉母赵,然后開始報(bào)各種classNotFound
逸爵,之后就是一個(gè)一個(gè)的倒jar包,最后發(fā)現(xiàn)了一個(gè)jar沖突的錯(cuò)
圖三
終極嘗試的失落感
最后的那個(gè)錯(cuò)誤是override了一個(gè)final方法凹嘲,所以我想拿到j(luò)ar包源碼做更改再打包师倔,最后發(fā)現(xiàn),臣妾做不到啊周蹭,太扯了趋艘。
最后更改Hbase版本為0.90.4
everything ok
圖四
圖五