2012-12-12 37 views
3

我正在開發一些java項目的原型,到現在爲止,我使用了多模塊Maven項目,其中有一個根目錄項目是另外6個Maven模塊的父項目。最初我計劃使用基於Swing的經典GUI製作獨立解決方案。如何將現有的Java Maven模塊添加到Grails Maven模塊?

現在我決定我想製作一個Web應用程序並嘗試使用Grails。 我搜索了很多並研究了一段時間,但無法弄清楚什麼是組織我的Maven項目的最簡單方法。 現在我知道如何創建空的Grails Maven項目。但是,我應該如何將其他Maven模塊介紹給它? 我想出現在是:

  1. 創建新的Grails Maven的模塊,把來自其他模塊的所有來源成的src/java目錄中,並從其他模塊的pom文件,所有的依賴和插件複製到Grails的POM。
  2. 創建空的Grails插件(每個現有的Java模塊一個)並將Java Maven模塊的代碼和依賴項遷移到Grails插件pom文件。
  3. 設置自己的本地Nexus存儲庫。將Java模塊的工件放入它中並在Grails項目中重用它們。通過這種方式,Grails開發與純Java中的其他業務邏輯開發分離開來。

所有這三種解決方案,我不喜歡的原因很明顯:

  1. 我將失去模塊化和可能性重用我當前的Java項目的單獨的模塊。
  2. 首先,重構太多。其次,最後,我不會有好的可重用Maven模塊,也不會有Grails插件(它只會看起來像一個)。
  3. 我仍然處於我的項目的早期原型階段,我將不得不經常更改java模塊並行到Grails模塊開發。顯然,等到我的java模塊進入單線程更改進入Nexus後,才能看到Grails中的全部結果,這並不是很方便。

那麼,我應該選擇什麼樣的選擇?什麼是其他可能性?我有這樣的感覺,就是對我的問題有非常簡單的回答,之後我會很慚愧。

另一件可能與此相關的事情是:我目前使用Jenkins爲我的java模塊以及cucumber-jvm驗收測試運行單元測試,並且希望繼續這樣做;我使用IntelliJ Idea 12作爲我的IDE。

+0

只是一個建議,因爲您已經回答了您自己的問題,請將其發佈到答案部分並自行接受。這樣,這個問題將被標記爲已回答,並且人們將能夠更快地找到解決方案。 – MeIr

回答

0

答案竟然很簡單。我所要做的就是以下幾點:

去根POM到文件夾 運行「Grails的創造,應用我-APP-名」 去與新的Grails項目,並運行「Grails的創造,聚甲醛my.group創建的文件夾.id「 將grant'last命令生成的grails pom.xml作爲父項添加root pom 將其他6個maven模塊添加爲grails'pom的依賴項。 在我的根pom上運行「mvn clean install」之後,我檢查了爲我的Grails模塊生成的.war文件包含了來自其他模塊的所有必需的jar文件。

那麼,事情變得如此簡單。 Maven真的很棒,也許這個問題長期存在,因爲我沒有想到它會那麼棒。