溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何將nutch源代碼進行修改后將項目和第三方jar包打成一個整體ar包

發布時間:2021-11-19 16:46:06 來源:億速云 閱讀:191 作者:小新 欄目:云計算

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

我在打好jar包后,在Linux下運行

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

報錯信息為:

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

意思就是說:我們的第三方jar包并未起作用

最開始,一直以為是打包的方法有誤。翻來覆去折騰了好幾個小時。最終老大提了另一種思路,他覺得用ant打包可能會容易一些。但是,在網上找了些資料看了一下,發現挺麻煩的。最終沒有做這種方法。

繼續查錯,我也懷疑過是不是hadoop jar包的問題,我認為可能是hadoop-core.jar下的META-INF文件下內容程序找不到。事實上,也不是這個原因,上邊的想法都只是猜測而已。hadoop-core.jar的結構和其他第三方jar包的結構完全一致。

沒辦法,最后不知道怎么腦袋一抽~才想到怎么不在windows下的dos中測一下。這一次,發現打的jar包是可以運行的。

到了這兒,老大問我,為什么在Linux下不行,在Windows下可以?其實,當時一高興,我也沒思考過這個問題:所打的jar包,為什么在windows下可以運行成功,但是在Linux下卻不可以。

老大提了思路,他說:會不會是,路徑的問題。因為windows下的路徑分隔符和Linux下的路徑分隔符有區別。我恍然~~這種可能性非常大?。?!

我每次對于windows和Linux的路徑、轉義字符等一系列的區別總是傻傻分不清楚。雖然知道它們有區別,但是每次都記不住。導致,每次在遇到這些問題時,都會浪費大量的時間做無用功~~~~

這次的感觸是:

1、要堅持,有時候希望就在你絕望到將要放棄的時候出現。

2、思維要活躍,想問題不要局限在很小的框子內,天馬行空最好。有時候,看似不相關的兩個事情,當你換一種思路來看時,它正好能解決你的問題。

3、要不斷地回顧?;仡欀暗南敕?,回顧之前的做法,看看自己疏忽了哪些關鍵點。有時候思路和方向都沒有錯,錯就錯在細節上??勺约哼€糾結的認為,或許思路和方向都錯得太遠了。

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

結合前輩們的相關資料:

多項目相互依賴的Java程序打包并引入外部Jar包方式

Eclipse將引用了第三方jar包的Java項目打包成jar文件的兩種方法

簡單jar打包示例 合并第三方jar包打包操作

下面列出詳細的打包過程:

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

2、在META-INF下新建文件MANIFEST.MF。文件內容類似:

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

看完了這篇文章,相信你對“如何將nutch源代碼進行修改后將項目和第三方jar包打成一個整體ar包”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女