Мы выполняем миграцию с Grails 2 на Grails 4. Чрезвычайно упрощенное наше приложение. groovy выглядит так:
def someVar = [:]
environments {
myGreatApp.brandMap = [
'dev.analyzor1.com': someVar
]
}
Это вызывает ошибку, сообщая о том, что переменная 'someVar' не создана.
ERROR --- [ restartedMain] o.s.boot.SpringApplication : Application run failed
io.micronaut.context.exceptions.ConfigurationException: Exception occurred reading configuration [application]: BUG! exception in phase 'class generation' in source unit 'Script1.groovy' tried to get a variable with the name someVar as stack variable, but a variable with this name was not created
at io.micronaut.context.env.groovy.GroovyPropertySourceLoader.processInput(GroovyPropertySourceLoader.java:53)
at io.micronaut.context.env.AbstractPropertySourceLoader.read(AbstractPropertySourceLoader.java:112)
at io.micronaut.context.env.AbstractPropertySourceLoader.loadProperties(AbstractPropertySourceLoader.java:97)
at io.micronaut.context.env.AbstractPropertySourceLoader.load(AbstractPropertySourceLoader.java:73)
at io.micronaut.context.env.AbstractPropertySourceLoader.load(AbstractPropertySourceLoader.java:59)
at io.micronaut.context.env.PropertySourceLoader.load(PropertySourceLoader.java:51)
at io.micronaut.context.env.DefaultEnvironment.loadPropertySourceFromLoader(DefaultEnvironment.java:608)
at io.micronaut.context.env.DefaultEnvironment.readPropertySourceList(DefaultEnvironment.java:541)
at io.micronaut.context.DefaultApplicationContext$RuntimeConfiguredEnvironment.readPropertySourceList(DefaultApplicationContext.java:675)
at io.micronaut.context.env.DefaultEnvironment.readPropertySources(DefaultEnvironment.java:463)
at io.micronaut.context.env.DefaultEnvironment.start(DefaultEnvironment.java:324)
at io.micronaut.context.DefaultApplicationContext$RuntimeConfiguredEnvironment.start(DefaultApplicationContext.java:647)
Я перенес большое приложение, и все в таком духе закончилось после перемещения кода из Config. groovy и DataSource. groovy в приложение. groovy.
Есть ли обходной путь для невозможности объявить и использовать переменную в приложении. groovy? Спасибо