2013-10-23 25 views
2

是否有可能或推薦將Grails項目用作其他Grails項目的常見依賴項?假設我有grails-1項目,其中包含用戶服務的概念(即用戶,SecUser,SecKey對象的域類,暴露的服務(通過HTTP導出器)以驗證/登錄/註銷和一些頁面/控制器爲管理員用戶管理這些域對象上的CRUD等)。將Grails項目用於其他Grails項目的通用代碼和依賴關係

現在說我有一個grails-2項目,它也有一個用戶服務的概念。

我的兩個項目在運行時分別從不同的數據庫中分離出來。所以沒有用戶服務的共享運行時實例是合適的。

所以我正在考慮將所有的用戶功能轉移到一個普通用戶的Grails項目中,這個項目被打包成一場戰爭,然後grails-1和grails-2對此有依賴(因爲他們希望使用域類/服務在他們的功能)。

然後對於svr-1,我部署了wars common-user和grails1,srv-2有common-user和grails-2。

這會工作嗎?

或者有沒有辦法引用普通用戶作爲grails-x中的編譯依賴項,它會影響將它的所有對象包裝在grails-x war中?

回答

1

這正是使用內聯插件進行常見功能的原因。將你的共享功能創建爲Grails插件,然後你可以將它作爲BuildConfig.groovy中的內聯插件包含在你的grails項目中(見下文)。在幾個Grails項目中,我使用這種模式取得了巨大成功。

BuildConfig.groovy

grails.plugin.location。 「我的共享-插件」= 「../my-shared-plugin」