2010-02-16 2 views
0

У Grails есть кофиг для фасоли весны, называемой resources.groovy. И, как я понял из документации, что позволяет включить другой файл, используя loadBeans (% путь%)Конфигурация зерновых фасолей Grails в разных файлах

Я пытался с этим:

println 'loading application config ...' 


// Place your Spring DSL code here 
beans = { 
    loadBeans("classpath:security") //i'm tried with "spring/security" and "spring/security.groovy" also 

} 

но когда Grails работает, оно необходимо войти следующее сообщение об ошибке:

Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Error evaluating bean definition script: class path resource [security] cannot be opened because it does not exist 
Offending resource: class path resource [security]; nested exception is java.io.FileNotFoundException: class path resource [security] cannot be opened because it does not exist 
at grails.spring.BeanBuilder.loadBeans(BeanBuilder.java:470) 
at grails.spring.BeanBuilder.loadBeans(BeanBuilder.java:424) 
at resources$_run_closure1.doCall(resources.groovy:13) 
at resources$_run_closure1.doCall(resources.groovy) 
... 45 more 

Script security.groovy это существует в grails-app/conf/spring и составитель Grails Maven плагин в target/classes/security.class. Справочник target/resources/spring пуст в настоящее время

Как я могу настроить Grails или grails-maven-plugin для копирования этих файлов конфигурации, а не компиляции его в классы?

p.s. эта проблема представляет, когда я пытаюсь включить конфигурационные скрипты используя grails.config.locations = [ %path% ] внутри conf/Config.groovy, моя заводная скрипты компилирует в классы и из-за этого, Grails конфигурации строитель не может найти их :(

ответ

1

ли вы попробовать:

println 'loading application config ...' 


// Place your Spring DSL code here 
beans = { 
    loadBeans("classpath:*security.groovy") 

} 

(это необходимо загрузить все файлы Groovy на пути к классам, заканчивающейся security.groovy и анализировать их в бинов)

Обновление:. Найден interesting thread с this message в качестве ссылки и я понимаю, что одна хитрость заключается в использовании муравей в scripts/_Events.groovy, чтобы скопировать файл .groovy в classesDirPath директорию, а затем просто использовать:

beans = { 
    // load spring-beans for db-access via spring-jdbc-template 
    loadBeans('security.groovy') 

    // load some other spring-beans 
     ... 
} 

Это выглядит как взломать, чтобы получить вещи работая как в войне, так и при запуске run-app. Не знаете, как нужно «делать» (если это даже имеет смысл).

+0

Пробовал, но не добился успеха :(А также там нет никаких угроз в любом месте в classpath, grails скомпилировал его в security.class Я вяжу, что это корень проблемы, но не знаю, как исправить это –

+0

спасибо, взломать с _Event.groovy мне помогли –

+1

Эти ссылки не работают :( – user2427

Смежные вопросы