簡體   English   中英

拆分resources.groovy(Grails 2.5)以使其模塊化

[英]Splitting resources.groovy (Grails 2.5) to make it modular

我的Grails項目的resources.groovy正在增長,因此我正在考慮將其拆分為一些邏輯文件,以便於維護。 閱讀了博客的一些問題之后,我了解了importBeans或loadBeans。 僅當使用grails run-app運行應用程序時,此方法才有效。 但是,我創建了一個戰爭並將其部署在JBoss上,無法訪問自定義bean文件。 在下面也沒有運氣嘗試過-這里提到- 從grails應用程序中的自定義groovy文件中加載spring bean

grails.war.resources = { stagingDir, args ->
  copy(todir: "${stagingDir}/WEB-INF/classes/spring") {
     fileset(dir:"grails-app/conf/spring") {
        include(name: "datasourceDefinitions.groovy")
        exclude(name: "resources.groovy")        
      }
  }
}

我在grails-app / conf / spring中添加了datasourceDefinitions.groovy。 請幫忙。

問題是由於Spring bean配置文件被移到WAR文件內的文件夾“ WEB-INF / classes / spring /”(確保文件打包在.war中)中。 我所做的就是在resources.groovy中找到資源路徑。

def loadFromFile = { name ->
    importBeans("file:grails-app/conf/spring/"+name)
}

def loadFromWar = { name ->
    def resource = application.parentContext.getResource("WEB-INF/classes/spring/"+name)
    loadBeans(resource)
}
def loadResource = application.isWarDeployed() ? loadFromWar : loadFromFile

loadResource "datasourceDefinitions.groovy"
loadResource "anotherBean.groovy"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM