2012-05-17 60 views
1

我已經從svn下載了一些代碼到我的系統中。現在通過maven我需要檢查這個代碼是否有任何更新,如果有,然後更新它。我不需要結賬整個代碼。那麼是否有可能只更新任何項目的現有源代碼,而無需創建一個結帳目錄?只執行從svn到maven 3的最新代碼更新

我關注了這個帖子:Settings for Maven for conditional checkout or update from SVN?

但是我認爲如果我不先檢查,只有更新不起作用。

回答

1

有兩種方法可以做到這一點。您可以手動呼叫mvn scm:update,根據在pom中爲項目指定的<scm>設置,將會更新源(如果有任何更改)。請參閱this usage pageadvanced scm commands文檔。

另一種方式是作爲標準maven生命週期的一部分調用此目標。這是referred question中的嘗試。沒有理由爲什麼更新本身不起作用。您可以使用update-project<execution>的代碼段並根據需要進行修改。

後者可能不適合,因爲如果您執行離線構建或者由於某種原因沒有scm連接,構建不會發生。可以說mvn scm:update clean install或類似的東西更好。

+0

非常感謝Raghuram ..我使用的命令方法和它的工作很好..如果我確實需要簽出代碼,那麼我是否需要執行mvn scm:co clean install? – pranay

+0

也如果我通過pom.xml做什麼,那麼我應該爲寫什麼?所以它不會尋找目標下的代碼,而是項目/ src?在提到的鏈接是project.build.directory,所以它查找目標下的結帳代碼,因爲它不存在它會給出錯誤,目標不存在 – pranay

+0

我確實設法通過指定./src作爲但我仍然認爲有些屬性可以在那裏使用..也可以使用pom.xml中的設置,我們可以通過命令行禁用更新,同時進行構建? – pranay