2014-09-12 58 views
1

我想在Grails中啓動我的第一個項目,並且想要分割更多的應用程序/插件。Modularize Grails應用程序(Grails 2.3.x)

現在我只有一個網站/應用程序(/myproj/projectA)。在將來,我想添加一個新的應用程序(/myproj/projectB),我想重用projectA(例如UserService)的一些邏輯。

在Grails中,是什麼方式?創建2個應用程序(projectA,projectB)和一個常見(例如UserService)插件?

這是怎麼回事?

最終結果是:我想更新單個應用程序而不重新部署整個應用程序。

預先感謝

回答

5

創建可重複使用/共享的功能是Grails作爲開發框架的關鍵優點之一。您絕對應該從一開始就考慮功能的模塊化,併爲插件的創建和使用進行設計。

正如你猜測的那樣,你使用grails插件來達到這個目的。我們開發了一個內部生態系統,其中包括(目前)大約30個插件,每個插件都提供了一個特定的功能。我們還推出了Grails插件中可見的一些模式,使得基本功能(域和服務)與用戶界面(控制器,標籤庫和視圖)保持分離。例如,我們有以下插件:

arkCore - Core datatypes, domains and services 
arkComponents - Common UI controls 
arkDocument - Document management datatypes, domains and services 
arkDocumentUi - Document management user interface 

在這種情況下arkDocument取決於arkCore和arkDocumentUi取決於arkDocument和arkComponents。

Grails可以創建應用程序或插件項目。我的建議是

  1. 在一個應用程序開發您的功能開始。
  2. 讓它以某種基本形式工作。
  3. 創建一個插件項目並將應用程序中的所有相關工件移動到插件中。
  4. 將插件發佈到本地存儲庫。
  5. 更新項目BuildConfig.groovy以引用與任何其他Grails插件相同的插件。

你需要做以下的事情,才能熟練使用的插件:

  • 閱讀並理解Grails文檔的插件部分
  • 獲取並安裝Artifactory的,作爲一個私人插件庫你的發展。如果只是你,那麼你可能只考慮使用本地Maven倉庫,並使用maven-install而不是publish-plugin。
  • 查看一些第三方開發的插件示例。他們通常很直接。
+0

謝謝Steve! – 2014-09-13 14:08:49

+0

謝謝你的美麗解釋史蒂夫。關於模塊化Grails應用程序,我還有一些疑問。請回答這個http://stackoverflow.com/questions/34249297/differences-between-adding-a-project-as-dependency-and-as-a-plugin – Prabhath 2015-12-13 08:31:39

+0

@Steve你能告訴如何添加一個插件到grails 2.5項目已經到位,或者你可以給我一個實例。 – 2015-12-14 11:13:36

相關問題