我在src/groovy下有一個文件,我有一些屬性位於Config.groovy和外部屬性文件中。通常如果你想訪問屬性,可以使用grailsApplication.configuration.property.name表達式。我希望能夠從src/groovy目錄下的此文件訪問所有這些屬性。我到目前爲止已經試過訪問來自src/groovy的配置/屬性文件
import grails.util.Holders
class ForkedTomcatCustomizer {
def application
void customize(Tomcat tomcat) {
println Holders.grailsApplication.config.property.name
}
}
給我NPE說grailsAppliction爲空
import org.codehaus.groovy.grails.web.context.ServletContextHolder as SCH
import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes as GA
class ForkedTomcatCustomizer {
def application
void customize(Tomcat tomcat) {
def ctx = SCH.servletContext.getAttribute(GA.APPLICATION_CONTEXT)
def grailsAppliction = ctx.grailsApplication.getObject()
println grailsAppliction.config.property.name
}
}
相同 - NPE因爲grailsAppliction爲空
是否有可能以某種方式處理這種情況?謝謝!
不幸的是這給NPE爲好。說配置對象爲空 – 2014-09-04 07:58:40
@AndreyYaskulsky - 這很奇怪!我一直在使用這個遍歷我的src文件,它完全適合我。我正在使用grails 2.1.2,不確定,但它可能與版本 – 2014-09-04 08:02:54
有一些關係。我的猜測是他正在嘗試在構造之前訪問配置,例如,在建立時間 – 2014-09-04 08:08:09