2008-09-16 51 views
8

是否有一種工具可以檢測不需要的jar文件?查找最小必需的java類路徑

例如說我有myapp.jar,我可以使用包含hibernate.jar,junit.jar和easymock.jar的類路徑啓動。但實際上它只會使用hibernate.jar,因爲調用junit.jar的代碼無法訪問。

我意識到反射可能會使事情複雜化,但我可以忍受一種忽略反射的工具。除此之外,它似乎是一個相對簡單的問題來解決。

如果沒有這樣的工具,那麼決定需要哪些依賴關係的最佳實踐是什麼?在我看來,這肯定是一個普遍的問題。

回答

3

這在使用反射的系統中是不可能的。

也就是說,如果您不使用任何反射,靜態分析工具可以做得很好。

0

有些東西要添加到Bill K的回覆中:你可能根本不使用反射,但是你正在使用的JAR可能會。我記得遇到類似xalan & xerces的情況,其中ClassNotFoundException在運行時被拋出。