2012-04-06 110 views
6

我有一個很大的jar文件,對其他jar文件有很多依賴關係〜總共有幾百MB的40個文件。我很擔心這個jar文件的依賴關係問題,因此我希望在編譯時將所需的依賴關係添加到此jar的Manifest文件中。我想知道這種方法是否有負面的缺點。我已經對課程加載時間進行了一些測試,他們似乎並沒有受到太多的影響。在類路徑中包含太多jar文件的影響

我想將依賴關係移動到jar的清單中的另一個原因是,如此多的文件命令行變得漫長而難以閱讀。我們有很多-XX選項等被傳遞到JVM中,但它看起來像沒有辦法在清單或某種配置文件中設置它們。

+0

就我個人而言,我總是使用一個簡單的腳本來啓動程序,而不是手工編寫所有選項和jar文件(ugh)。這一次解決了所有問題,但是沒有任何事情可以反對在清單中添加罐子。 – Voo 2012-04-06 12:28:39

+0

Voo - 感謝您的評論。我目前使用一個腳本,我的兩個問題是,當看着正在運行的進程時,它會到達一個點,每個java實例幾乎佔據一個完整的終端窗口。其次,其他人可以自由使用這個jar,並可以隨意調用它。我寧願如果編譯和運行時間之間有聯繫。 – john 2012-04-06 16:39:19

回答

3

如果你依靠這些罐子,那就沒關係。實際上,40個依賴關係並不那麼重要,所以不要認爲這是一個問題。只要確保你不包含未使用的依賴關係。

+0

我不明白爲什麼未使用的deps會造成任何問題。當然,他們會擴大規模(並且是不必要的),但由於類加載器很懶,我不明白爲什麼這會成爲一個問題。 – Voo 2012-04-06 12:27:25

+0

我認爲這可能是我的問題的關鍵。鏈接jar中的依賴關係肯定意味着有未使用的jar。根據罐子的使用方式,許多可能不會被使用。我知道在這種情況下,拆分罐子是理想的。不幸的是,在這種情況下這不是一種選擇。 – john 2012-04-06 16:41:13

相關問題