2010-09-17 48 views

回答

2

不可能在那裏得到ServletContext

有可能通過一個醜陋的解決方法,以獲取絕對路徑:

def path = getClass().getProtectionDomain().getCodeSource().getLocation() 
    .getFile().replace(getClass().getSimpleName() + ".class", "").substring(1); 

(該substring(1)刪除不必要的斜線)

2

Config.groovy這樣做:

def path = getClass().getProtectionDomain().getCodeSource().getLocation().getFile().replace("/WEB-INF/classes/" + getClass().getSimpleName() + ".class", "").substring(1); 
path = path.substring(path.lastIndexOf("/") + 1) 

println "path: $path ${path}" 

def env = System.getenv() 
if (!env['ISP_CONFIG']) { 
    System.err.println 'Environment variable EXTERNAL_CONFIG_DIR is not set.' 
} else { 
    grails.config.locations = [ 
     "file:${env['EXTERNAL_CONFIG_DIR']}/grails/${path}/grails-config.groovy", 
     "file:${env['EXTERNAL_CONFIG_DIR']}/grails/${path}/DataSource.groovy" 
    ] 
} 
相關問題