我們的webapp項目已經存在了一段時間(或者實際上我應該說開始項目的程序員太忙了,無法查看更新的東西),並且我們在構建時非常依賴螞蟻。雖然Ant很酷,但Maven更酷。所以我們想開始使用它。自動生成一個Maven pom
該webapp已經存在了一段時間,並有至少70-80罐。繪製每個罐子的maven座標是很痛苦的。有沒有一種方法通過將工具指向當前類路徑文件來自動生成maven pom(只是依賴部分)?有沒有這樣的工具
我們的webapp項目已經存在了一段時間(或者實際上我應該說開始項目的程序員太忙了,無法查看更新的東西),並且我們在構建時非常依賴螞蟻。雖然Ant很酷,但Maven更酷。所以我們想開始使用它。自動生成一個Maven pom
該webapp已經存在了一段時間,並有至少70-80罐。繪製每個罐子的maven座標是很痛苦的。有沒有一種方法通過將工具指向當前類路徑文件來自動生成maven pom(只是依賴部分)?有沒有這樣的工具
你的項目越老,識別舊版本的開源模塊就越困難。
我所做的是使用jar文件的校驗和作爲公共Nexus存儲庫中的搜索關鍵字。例如嘗試以下REST網址:
http://oss.sonatype.org/service/local/data_index?sha1=7999a63bfccbc7c247a9aea10d83d4272bd492c6
返回以下響應片段,確定log4j的模塊的版本1.2.16:
<search-results>
<artifact>
..
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
..
</artifact>
</search-results>
當然這種方法會打開找出那些罐子舉行在Maven中心,但這是一個很棒的節省時間。
希望這會有所幫助,祝你好運!
馬克 - 感謝您的提示,我將嘗試此操作並將更新線程。 – sumit 2011-01-31 14:41:05
Maven支持傳遞依賴。如果將所有傳遞依賴添加爲直接依賴,那麼您並沒有充分利用Maven,未來的維護者也不會感謝你,因爲升級依賴將與在ant中一樣困難,即傳遞依賴的版本必須是手動更新。
此外,請注意,70罐可能意味着只有十幾左右的依賴性,所以找到適當的工件座標不必是一個大問題。 (可以搜索maven庫,你知道...)
謝謝meriton。你對傳遞性依賴是正確的,我應該停止懶惰,並完成它:)。只是檢查是否有東西在那裏。 – sumit 2011-01-27 15:56:55
相關http://stackoverflow.com/questions/4029501/how-to-convert-ant-project-to-maven-project – Raghuram 2011-01-27 09:10:24