2011-09-20 217 views
0

我知道Spring Roo目前還不支持多項目,但我需要兩個站點在相同的模型/控制器(大約50個模型)上運行並且在同一個數據庫上,而不必同時更新模型應用。Spring Roo多項目解決方案

我在想,我可以在一個主項目中生成模型和控制器,並讓子項目使用符號鏈接的模型和控制器。這仍然感覺像我複製了很多代碼,是否有更好的方法來實現相同的結果?

回答

1

如果您正在尋找到具有針對不同客戶使用Spring Roo的建立在同一個產品的UI定製,你可以簡單地實現上述與使用版本控制系統。

只需將兩個分支的主要源代碼分開,並在模塊發生更改時將其更新到分支,並在分支中維護各個UI自定義。

此外,您可以等待Spring Roo 1.2發佈版,該版本已經承諾Spring Roo項目支持多模塊maven項目(ROO-120)。

乾杯和Roo一切順利!

+0

版本控制是一個非常優雅的解決方案,謝謝! 希望我有時間等待1.2版RELEASE。 –

+0

不客氣:) – bhagyas

1

作爲一種解決方法,我試圖爲不同的業務邏輯創建單獨的Roo Web項目。然後,我修改pom.xml中的包裝,從WAR到JAR,以便在沒有Web資源的情況下打包它們(注意:因爲控制器是POJO類,所以它們包含在JAR中)

我稱它們爲輔助模塊。

最後,我創建一個Roo web項目,將輔助模塊導入爲maven依賴項。

我稱之爲主要模塊。

第一個問題是在主模塊的JPA掃描中包含輔助模塊的類。我需要這樣做,因爲頂層包在模塊中是不同的。

爲了做到這一點,你需要在主模塊中編輯persistence.xml並添加條目爲每個外國JPA實體(耶佩斯,50如有必要)

參見:http://www.manning-sandbox.com/thread.jspa?threadID=46259&tstart=0作進一步的解釋。

第二個問題是使用包含在JAR中的控制器。這裏的問題是ApplicationConversionServiceFactoryBean,您需要將每個ApplicationConversionServiceFactoryBean的代碼複製到主模塊中的helper模塊中,因爲webmvc-config.xml僅創建其中的一個。

只有具有組合鍵的實體時,這是一個問題,因爲它們在控制器中是@Autowired,以便使用它們作爲REST參數的鍵的對話。

查看http://www.manning-sandbox.com/thread.jspa?threadID=46337&tstart=0瞭解更多詳情。

最後一個問題可能是爲AJAX調用中的REST參數交換創建的JSON方面,如上所述,如果您有組合鍵。此外,如果您嘗試使用JQuery而不是Dojo。

我還沒有解決方案,但項目結束了,所以我肯定會有一些幫助。

順便說一句,我接受建議。

+0

也是一個不錯的解決方案,如果我有時間做正確,這很可能是更好的解決方案。 –