2011-06-22 186 views
0

我的軟件包像往常一樣建立在幾個外部軟件包上。我想修改其中一個外部,所以我去搶它的開源。它依次建立在進一步的外部環境之上,所以我爲那些人提供了罐子,直到除了一個依賴關係都滿足爲止:org.codehaus.jackson.JsonParser,從傑克遜映射罐中調出。我猜猜JsonParser是在jackson-core.jar中(你怎麼知道的?),所以我添加它。我的依賴關係已解決,並且突然出現以前看起來完整的6個源文件的不同依賴關係。前進一步,後退6步。 (所有這些在Eclipse中)我錯過了什麼?也許不是所有的依賴關係都能在一次傳遞中找到?你如何找到並解決依賴關係?java構建路徑神祕

謝謝!

回答

1

您需要概述您如何執行依賴關係。從您的描述中可以看出,您正在手動計算出需要什麼,下載這些罐子並將它們安裝到您的項目中。這也許是最複雜,最慢,最痛苦的做事方式。

我建議你考慮使用Ivy依賴管理器(通常與Ant構建工具使用,或者它有一個內置的依賴管理的Maven構建工具。進一步的和更先進的工具(恕我直言)是Gradle它使用常春藤在幕後,可以很容易地被告知使用Ivy和Maven軟件庫來源代碼來源。

使用這些工具的優點是,他們負責搞清楚依賴和下載文件的骯髒工作。他們不是一個完整的解決方案,你仍然需要解決版本衝突和其他問題,但是他們需要解決大部分問題。

+0

是的,我正在手動做,確認。我會研究這些工具,tyvm! – DJC

+0

哦,並且Eclipse和IntelliJ IDE的插件適用於所有這些工具,這些工具也讓生活變得更加輕鬆。 – drekka

+0

更簡單的問題..我正在構建這個外部軟件包來利用一個很小的變化。我有可能用我自己的類文件編譯來重寫jar文件中的內容,或者僅僅爲這些文件從源代碼構建兩個文件?我說我可以更新罐子。 Yeesh,noobs :) – DJC