2011-01-26 122 views
0

我們的webapp項目已經存在了一段時間(或者實際上我應該說開始項目的程序員太忙了,無法查看更新的東西),並且我們在構建時非常依賴螞蟻。雖然Ant很酷,但Maven更酷。所以我們想開始使用它。自動生成一個Maven pom

該webapp已經存在了一段時間,並有至少70-80罐。繪製每個罐子的maven座標是很痛苦的。有沒有一種方法通過將工具指向當前類路徑文件來自動生成maven pom(只是依賴部分)?有沒有這樣的工具

+0

相關http://stackoverflow.com/questions/4029501/how-to-convert-ant-project-to-maven-project – Raghuram 2011-01-27 09:10:24

回答

2

你的項目越老,識別舊版本的開源模塊就越困難。

我所做的是使用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中心,但這是一個很棒的節省時間。

希望這會有所幫助,祝你好運!

+0

馬克 - 感謝您的提示,我將嘗試此操作並將更新線程。 – sumit 2011-01-31 14:41:05

1

Maven支持傳遞依賴。如果將所有傳遞依賴添加爲直接依賴,那麼您並沒有充分利用Maven,未來的維護者也不會感謝你,因爲升級依賴將與在ant中一樣困難,即傳遞依賴的版本必須是手動更新。

此外,請注意,70罐可能意味着只有十幾左右的依賴性,所以找到適當的工件座標不必是一個大問題。 (可以搜索maven庫,你知道...)

+0

謝謝meriton。你對傳遞性依賴是正確的,我應該停止懶惰,並完成它:)。只是檢查是否有東西在那裏。 – sumit 2011-01-27 15:56:55