2012-09-21 73 views
2

有人可以解釋在Grails應用程序中使用Grails插件的兼容性規則(根據Grails版本)究竟是什麼。grails插件兼容性

我的猜測是,使用Grails 2.X開發的插件不能在Grails 1.X應用程序中使用,即使該插件沒有使用Grails 1.X應用程序中沒有的任何功能,正確?

我是否認爲在這種情況下,應該可以將Grails 2.X插件的源代碼複製到空的Grails 1.X插件項目中,然後將其打包,然後在Grails 1中使用它.X應用程序?

回答

4

你是不正確的。一個插件定義grailsVersion在其插件描述符,這就決定了Grails的版本,它的工作原理是:

// the version or versions of Grails the plugin is designed for 
def grailsVersion = "1.1.1 > *" 

插件是在應用程序啓動(在開發環境),編譯或創建一個.war文件的過程中。這意味着針對2.x編寫的插件確實可以在舊版本中運行,只要它們限制使用這些版本中支持的功能即可。

+0

如果我理解正確,你說定義'def grailsVersion =「1.1.1> *」'的插件可以在Grails 1.3.7中工作,即使插件是用Grails 2.X開發的嗎? –

+0

@唐,是的,這就是主意。對於許多插件,它們不依賴於版本之間改變的東西。 – cdeszaq

+1

事實上,現在在2.0中開發插件是很重要的,無論使用哪個應用程序版本,因爲在舊版本的Grails中修復了2.0版本 –