2012-09-28 42 views
1

我使用的是優秀的類圖插件https://github.com/trygvea/grails-class-diagram,想重寫配置值classSelection爲這裏設置:https://github.com/trygvea/grails-class-diagram/blob/master/grails-app/conf/ClassDiagramConfig.groovy我的應用程序Config.groovy中的文件。如何覆蓋Grails中的插件配置?

無以下似乎工作:

grails.plugins.class-diagram.classDiagram.config.defaults.classSelection = "com.mypackage.*" 
grails.plugins.class-diagram.config.preferences.defaults.classSelection = "com.mypackage.*" 
grails.plugins.class-diagram.classDiagram.config.preferences.defaults.classSelection = "com.mypackage.*" 

如何訪問正確的命名空間,以超越的價值?

謝謝!

回答

3

配置屬性的名稱是任意的,它們不一定必須遵循任何特定的模式或約定,如包名稱。

如果只有單一的屬性來覆蓋你可以使用「扁平化」的語法:

classDiagram.preferences.defaults.classSelection = 'com.mypackage.*' 

,如果你願意,你也可以聲明使用封閉語法配置屬性(如示例配置文件)組幾個屬性一起:

classDiagram { 
    preferences { 
     defaults { 
      classSelection = "com.mypackage.*" 
      showAssociationNames = false 
      showMethodReturnType = true 
      showMethodSignature = false    
     } 
    } 
} 

注意,Grails的插件系統不會自動從插件*Config.groovy文件加載到應用程序的配置。一個插件開發人員可以建立一個插件,默認*Config.groovy文件合併到應用程序的配置,在這種情況下,通常由一個插件提供的應用程序的Config.groovy將覆蓋配置屬性的屬性。

+0

我更新了這個答案澄清有關的一些事實如何從插件Grails的插件系統負載的Config.groovy文件。 –

0

屬性在Config.groovy設置將覆蓋插件的Config.groovy中的屬性,如果它們具有相同的名稱。您正在爲這些屬性添加一個包,但這不是必需的。使用

classDiagram.preferences.defaults.classSelection = "com.mypackage.*"