2011-03-23 30 views
2

我已經繼承了一個項目(非mavenized),其中有一個lib文件夾,其中大約有45個.jar確定項目實際需要的罐子

我很確定,並非所有這些罐子都是必需的。

有沒有一種方法,我可以從項目的來源確定哪個jar確實是必需的,哪些不增加價值,並且可以安全地移除?

理想情況下,我想識別「直接」依賴關係(即非傳遞性),這樣我可以將這些依賴關係提取到pom

+0

[如何確定在應用程序中使用哪些JAR]可能的重複(http://stackoverflow.com/questions/4222809/how-to-determine-which-jars-are-used-in-an-application ) – dogbane 2011-03-23 13:21:39

回答

4

檢查這個可愛的項目

0

您可以嘗試從構建路徑中刪除jar,然後進行全新安裝並查看項目是否編譯。如果是這樣,刪除的罐子不應該是直接的依賴關係。

0

您可以嘗試在IDE中將其設置爲IDE中的項目,而不導入jar,然後在IDE標記所有編譯器錯誤時導入相關的jar。

你應該留下不必要的人物。

雖然這可能有點冗長,但恐怕我不知道是否有更好的方法。

2

上所有包含JAR文件只需創建與直接依賴關係的POM,然後運行mvn dependency:analyze

這應該報告那些不是由您的源直接訪問的依賴關係。然後刪除那些。

相關問題