2014-10-01 85 views
-1

我想使用maven作爲構建/發佈管理/管理我們的Web應用程序的依賴關係工具。如何將Java CVS Web項目轉換爲基於Maven的Web項目?

我們的Web應用程序項目的目錄結構如下

-WebContext
------ | SRC
-------- | com.company
------ | WEB-INF
------ |

頁按行家,目錄結構應如下

-WebContext
------ | SRC
-------- | main
------------ | java
------------ | test
---- -------- |資源
------------ | webapp

因爲如果我們將代碼(舊的目錄結構)由SCM(CVS)維護,如果我們轉換爲新的maven目錄結構如下是問題

  1. 如果我改變了目錄結構,那麼文件需要在CVS中重新提交?如果是,則不可能提交所有文件,因爲項目大小很大,SCM中存在許多標籤,並且存在客戶端版本。

  2. 有沒有最好的方式轉換爲maven項目而不影響現有結構?

  3. 目前的資源都在根目錄下,讓他們能夠因爲它是不是移動爲src /主/資源

我認爲這是常見的問題對於所有希望有辦法解決這個,任何人都可以指導我使用maven作爲構建/發佈管理工具。

感謝 Dhorrairaajj

+0

希望這個鏈接可以幫助你輕鬆地:http://www.mkyong.com/maven/how-to-convert-java-web-project-to-maven-project/ – Imran 2014-10-01 14:09:37

+0

謝謝指出一個鏈接,但實際上,我正在尋找SCM庫(CVS)在轉換爲maven結構後如何影響項目結構。 – Dhorrairaajj 2014-10-06 04:36:02

回答

0

這是可能的配置Maven來尋找你的代碼src而非src/main/java。但是,如果您想遵循推薦的Maven項目佈局並將您的代碼放入src/main/java,我建議首先從CVS(類似於GitSVN之類)切換。

CVS針對每個文件獨立跟蹤修訂,由文件路徑標識。如果您移動或重命名一個文件(它改變了它的路徑),CVS認爲您刪除了它並創建了一個新文件,這意味着如果您查看(新)文件的修訂歷史記錄,則不會看到所做的任何更改在移動或重命名之前。就CVS而言,舊路徑和新路徑是完全不同的,無關的文件。

一些CVS用戶通過移動或重命名保存修訂歷史記錄的相關聯的,v文件來解決此限制,但它有效地改變了歷史記錄:如果簽出項目的早期修訂,則該文件將處於新的地點,彷彿它從一開始就在那裏。如果您有基於舊版本的分支,則文件的位置也會在這些分支上發生更改。這可能會導致舊版本或分支的構建失敗,因爲該文件不在構建系統期望它在這些版本中的位置。拋開問題,如果您的項目歷史記錄不準確,SCM存儲庫的用處就會有限。

像Git和SVN這樣較新的SCM系統能夠正確處理移動/重命名,並提供比CVS更多的改進。這是將項目轉移到不太古老的系統的好機會。

+0

感謝您的詳細解釋,我們的項目由許多(100+)標籤和不包含。的分支機構是否應該將SVN/Git設置爲精確的存儲庫而不影響現有設置,並且能夠基於分支機構和標籤構建項目? – Dhorrairaajj 2014-10-06 04:12:32

+0

有一些工具可以將CVS存儲庫轉換爲像Git或SVN這樣的新系統,包括所有的分支和標籤。 – Wyzard 2014-10-07 03:30:41

相關問題