3

「フォルダー」外部変数を機能させることができません。常に [:] を取得しています。

WindowsのGrailsで開発しています(これが、外部構成ファイルが file:C:\path\to/file のように見える理由です)

以下に示すのと同じ方法で、別のプロジェクトで問題なく外部構成を使用しています。

私はこれを持っています:

構成グルービー:

environments {
    development {
        grails.config.locations = [ "file:${userHome}/.grails/${appName}-config.groovy" ]
    }
}

myApp-config.groovy:

stats.feed.wsdl.folder = '/static'

コントローラーとサービス:

class WsdlController {
    def wsdlService
    def index = {
        wsdlService.getEventsSchedule()
    }
}

class WsdlService {
    def grailsApplication

    def getEventsSchedule = {
        println "Locations: ${grailsApplication.config.grails.config.locations}"
        println "Folder: ${grailsApplication.config.stats.feed.wsdl.folder}"
    }
}

コンソール:

Locations: [file:C:\Users\myUser/.grails/myApp-config.groovy]
Folder: [:]

どんな手掛かり?

ありがとう!

更新しました!

これは myApp-config.groovy 全体です。

println 'Start'
stats.feed.wsdl.folder = "/stats"
println 1
stats.feed.wsdl.folder.events = "${stats.feed.wsdl.folder}/events"
println 2
stats.feed.wsdl.folder.teams = "${stats.feed.wsdl.folder}/teams"
println 'End'

これは機能していません。コンソールに次のように表示されます。

Start
1

しかし、変数名を変更すると機能します。

println 'Start'
stats.feed.wsdl.folder = "${playcall.static.resources.folder}/stats"
println 1
stats.feed.wsdl.events.folder = "${stats.feed.wsdl.folder}/events"
println 2
stats.feed.wsdl.teams.folder = "${stats.feed.wsdl.folder}/teams"
println 'End'

コンソール:

Start
1
2
End
4

1 に答える 1

2

プロパティを作成し、これを文字列として宣言します。

stats.feed.wsdl.folder = "/stats"

そのようにして、サブプロパティを追加することはできません。したがって、何かを必要なものに近づけるために、これを行うことができます:

stats.feed.wsdl.folder.base = "/stats"
stats.feed.wsdl.folder.events = "${stats.feed.wsdl.folder.base}/events"
stats.feed.wsdl.folder.teams = "${stats.feed.wsdl.folder.base}/teams"
于 2012-11-30T18:23:19.257 に答える