2016-11-11 7 views
0

Какой класс-путь используется для компиляции/выполнения приложения Grails's application.groovy?Какой класс-путь используется для выполнения приложения Grails.groovy

В моей application.groovy, я создаю экземпляр пользовательского класса (содержащийся в банке зависимости), и назначить его к одному из свойств конфигурации, например, так:

environments { 
    production { 
     configProperty = new com.example.CustomClass() 

Я недавно модернизировал мое заявление от Grails 3.1.5 - 3.2.2, и теперь это больше не работает.

Я получаю сообщение об ошибке, как следующее, когда я пытаюсь запустить grails run-app:.

Error occurred running Grails CLI: startup failed: 
script14788250424471597489853.groovy: 43: unable to resolve class com.example.CustomClass 
@ line 43, column 33. 
     configProperty = new com.example.CustomClass() 

(Обратите внимание, что код находится в production блоке, но я бегу в развитии (run-app) Это делает меня думаю, что это компиляция этого скрипта, который терпит неудачу.)

Так что я предполагаю, что мне просто нужно добавить свою зависимость (содержащую CustomClass) к соответствующему пути к классам, но я не уверен, какой из них.

Я использую Gradle, и имею следующий в моем файле build.gradle, чтобы тянуть в зависимости, содержащей CustomClass:

buildscript { 
    dependencies { 
     classpath "com.example:custom-module:1.1" 
// ... 
dependencies { 
    compile group: 'com.example', name: 'custom-module', version:'1.1' 
} 

ответ

1

Файл grails-app/conf/application.groovy не должен ссылаться на классы приложений, так как она читается перед тем сборник. Если вы хотите ссылаться на классы приложений в конфигурации, используйте grails-app/conf/runtime.groovy

+0

Спасибо. Это где-то документировано? [Этот поиск] (https://www.google.com/search?sclient=psy-ab&btnG=Search&q=grails+runtime.groovy#q=grails+%2B%22runtime.groovy%22) не получило никаких результатов , – GreenGiant

+0

Файл 'runtime.groovy', как представляется, выполняется так же, как' application.groovy'. См. ['GroovyConfigPropertySourceLoader.load()'] (https://github.com/grails/grails-core/blob/master/grails-core/src/main/groovy/org/grails/core/cfg/GroovyConfigPropertySourceLoader.groovy). – GreenGiant