Help us understand the problem. What is going on with this article?

番外編:grails.config.locationsの設定

More than 3 years have passed since last update.

環境

grails 2.3.11
groovy 2.1
GGTS3.6.4

grails.config.locationsとは

メイン設定にマージされるべきプロパティファイルや追加のGrails設定ファイルの場所である。

初期に生成されるConfig.groovy中には、以下のようにある。

Config.groovy
// grails.config.locations = [ "classpath:${appName}-config.properties",
//                             "classpath:${appName}-config.groovy",
// "file:${userHome}/.grails/${appName}-config.properties",
// "file:${userHome}/.grails/${appName}-config.groovy"]

${appName}-config.groovyと書いてあったので、.classでなく.groovyでないと 読み込めないと
思いこんでしまい、Tomcatのwarデプロイ時にうまくいかなかったが、普通 に.classを読み込んだのでメモ。

以下ソース

grails.config.locations
if (Metadata.getCurrent().isWarDeployed()){

    //log.warn 'warデプロイ'

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

    grails.config.locations = ["file:" + path + "add-config.class"]

}else{

//log.warn 'eclipse起動'

grails.config.locations = ["file:buildターゲットフォルダ名/classes/add-config.class"]
johso
礼節をもって、最適なITソリューションを提供する集団。
http://www.johso.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away