What\'s the best practice of making a variable that would be accessible by almost all classes in a Grails project? Is there a config file that I can use for storage of that data
Your best bet is Config.groovy. Any class can access ConfigurationHolder.getConfig() which makes it global, and you can even have environment-specific values of your variable.
someVar = "foo"
environments {
production {
grails.serverURL = "http://www.changeme.com"
someOtherVar = 1000
}
development {
grails.serverURL = "http://localhost:8080/${appName}"
someOtherVar = 100
}
test {
grails.serverURL = "http://localhost:8080/${appName}"
someOtherVar = 0
}
}