如何將nutch源代碼進(jìn)行修改后將項(xiàng)目和第三方j(luò)ar包打成一個(gè)整體ar包

小編給大家分享一下如何將nutch源代碼進(jìn)行修改后將項(xiàng)目和第三方j(luò)ar包打成一個(gè)整體ar包,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)公司是一家專(zhuān)注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),濱湖網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專(zhuān)注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專(zhuān)業(yè)建站公司;建站業(yè)務(wù)涵蓋:濱湖等地區(qū)。濱湖做網(wǎng)站價(jià)格咨詢(xún):13518219792

我在打好jar包后,在Linux下運(yùn)行

[root@nutch-five test]# java -jar crawl-test.jar 

報(bào)錯(cuò)信息為:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/Tool

意思就是說(shuō):我們的第三方j(luò)ar包并未起作用

最開(kāi)始,一直以為是打包的方法有誤。翻來(lái)覆去折騰了好幾個(gè)小時(shí)。最終老大提了另一種思路,他覺(jué)得用ant打包可能會(huì)容易一些。但是,在網(wǎng)上找了些資料看了一下,發(fā)現(xiàn)挺麻煩的。最終沒(méi)有做這種方法。

繼續(xù)查錯(cuò),我也懷疑過(guò)是不是hadoop jar包的問(wèn)題,我認(rèn)為可能是hadoop-core.jar下的META-INF文件下內(nèi)容程序找不到。事實(shí)上,也不是這個(gè)原因,上邊的想法都只是猜測(cè)而已。hadoop-core.jar的結(jié)構(gòu)和其他第三方j(luò)ar包的結(jié)構(gòu)完全一致。

沒(méi)辦法,最后不知道怎么腦袋一抽~才想到怎么不在windows下的dos中測(cè)一下。這一次,發(fā)現(xiàn)打的jar包是可以運(yùn)行的。

到了這兒,老大問(wèn)我,為什么在Linux下不行,在Windows下可以?其實(shí),當(dāng)時(shí)一高興,我也沒(méi)思考過(guò)這個(gè)問(wèn)題:所打的jar包,為什么在windows下可以運(yùn)行成功,但是在Linux下卻不可以。

老大提了思路,他說(shuō):會(huì)不會(huì)是,路徑的問(wèn)題。因?yàn)閣indows下的路徑分隔符和Linux下的路徑分隔符有區(qū)別。我恍然~~這種可能性非常大?。?!

我每次對(duì)于windows和Linux的路徑、轉(zhuǎn)義字符等一系列的區(qū)別總是傻傻分不清楚。雖然知道它們有區(qū)別,但是每次都記不住。導(dǎo)致,每次在遇到這些問(wèn)題時(shí),都會(huì)浪費(fèi)大量的時(shí)間做無(wú)用功~~~~

這次的感觸是:

1、要堅(jiān)持,有時(shí)候希望就在你絕望到將要放棄的時(shí)候出現(xiàn)。

2、思維要活躍,想問(wèn)題不要局限在很小的框子內(nèi),天馬行空最好。有時(shí)候,看似不相關(guān)的兩個(gè)事情,當(dāng)你換一種思路來(lái)看時(shí),它正好能解決你的問(wèn)題。

3、要不斷地回顧?;仡欀暗南敕ǎ仡欀暗淖龇?,看看自己疏忽了哪些關(guān)鍵點(diǎn)。有時(shí)候思路和方向都沒(méi)有錯(cuò),錯(cuò)就錯(cuò)在細(xì)節(jié)上??勺约哼€糾結(jié)的認(rèn)為,或許思路和方向都錯(cuò)得太遠(yuǎn)了。

4、遇到問(wèn)題了,不能僅僅是解決問(wèn)題,而且要知道為什么。想明白,然后下次注意。

結(jié)合前輩們的相關(guān)資料:

多項(xiàng)目相互依賴(lài)的Java程序打包并引入外部Jar包方式

Eclipse將引用了第三方j(luò)ar包的Java項(xiàng)目打包成jar文件的兩種方法

簡(jiǎn)單jar打包示例 合并第三方j(luò)ar包打包操作

下面列出詳細(xì)的打包過(guò)程:

1、在我們所需要打包的項(xiàng)目下新建文件夾META-INF。我的項(xiàng)目名稱(chēng)為nutch源代碼的項(xiàng)目名稱(chēng)branch-1.7

2、在META-INF下新建文件MANIFEST.MF。文件內(nèi)容類(lèi)似:

Manifest-Version: 1.0 
Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties 
Class-Path: lib/xxx.jar lib/yyy.jar lib/zzz.jar

看完了這篇文章,相信你對(duì)“如何將nutch源代碼進(jìn)行修改后將項(xiàng)目和第三方j(luò)ar包打成一個(gè)整體ar包”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

名稱(chēng)欄目:如何將nutch源代碼進(jìn)行修改后將項(xiàng)目和第三方j(luò)ar包打成一個(gè)整體ar包
文章來(lái)源:http://muchs.cn/article26/ijdgjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、網(wǎng)站建設(shè)、虛擬主機(jī)、定制開(kāi)發(fā)、、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)