我已經看到了很多關於此的帖子,但讓我說,我不是想寫一個插件。 我正在做一個項目分析器,需要找出解決的依賴與他們的路徑。如何以編程方式獲取所有傳遞依賴關係
給定一個pom.xml(在一個項目中)我想找出所有的依賴關係(傳遞太)與他們的路徑,如果可能的話還缺少依賴關係。
獲得版本獨立的解決方案將是獎金。 PS:每個答案都建議使用exec在cli上運行命令,我已經在使用這個命令,並希望找到一個更好的方法來做到這一點。
我已經看到了很多關於此的帖子,但讓我說,我不是想寫一個插件。 我正在做一個項目分析器,需要找出解決的依賴與他們的路徑。如何以編程方式獲取所有傳遞依賴關係
給定一個pom.xml(在一個項目中)我想找出所有的依賴關係(傳遞太)與他們的路徑,如果可能的話還缺少依賴關係。
獲得版本獨立的解決方案將是獎金。 PS:每個答案都建議使用exec在cli上運行命令,我已經在使用這個命令,並希望找到一個更好的方法來做到這一點。
使用mvn dependency:tree
。對於編程訪問,只需使用Java Process api。
http://maven.apache.org/plugins/maven-dependency-plugin/tree-mojo.html
Java Process with Input/Output Stream
而且Maven插件是簡單的Java類。您可以下載依賴項:樹插件的代碼,並根據您的喜好使用/修改它。
你說的缺少依賴的意思是什麼呢?我會假定,如果有依賴不能被Maven解決,那麼項目將無法編譯... – Makoto 2015-02-11 07:14:34
因此,如果項目從orignal機器移動到右側,那麼maven無法解決的本地依賴關係會是什麼? 只有當項目不能編譯時纔會出現maven dependecies的情況。 – gabber12 2015-02-11 07:38:39
所以你會對「提供」依賴關係感興趣嗎?那些是Maven不會從網上下載的依賴關係;假設它們在運行的盒子上提供。 – Makoto 2015-02-11 07:41:26