2013-02-13 2 views
-1

Моя попытка следовать предлагаемой хорошей практике и помещать плагины в BuildConfig.groovy вместо application.properties, не будет работать для миграции базы данных. Я попытался определить его с областями compile, build и runtime. Когда я бегу grails refresh-dependencies, я получаю сообщение об ошибке:ошибки, когда плагин для миграции базы данных определен в BuildConfig

ошибки ВНИМАНИЕ: Заданная зависимость определения времени выполнения (базы данных миграции: 1.3.2) является недействительным! Пропуск.

(разумеется, объем сообщения зависит от указанного). Есть ли другая область, которую я должен использовать, или этот плагин особенный? Жаль, что в сообщении не сказано, какие области действительны - таким образом мне не пришлось бы задавать этот вопрос :-)

Я только хочу использовать плагин в IDE для генерации xml-файлов и поэтому я хочу исключить его из военного файла. Это что означает «export = false», если требуемая область будет включать его по умолчанию?

Должен признать, что я не могу найти четкое определение различных областей применения, а также то, что включает в себя. Может ли кто-нибудь мне что-то указать?

Я должен добавить, что это Grails 2.1.1 и GGTS 3.1.

+1

Что _exactly_ вы положили в BuildConfig и где? Зависимости плагинов выглядят как «runtime (': database-migration: 1.3.2») '(обратите внимание на ведущий двоеточие), и вам нужно перейти в блок' plugins', а не 'dependencies'. –

+1

Вот [хорошее резюме] (http://stackoverflow.com/questions/8751508/grails-buildconfig-groovy-difference-between-build-compile-and-runtime) областей. – uchamp

+0

С моей BuildConfig.groovy: плагинов { сборки (": кот: $ grailsVersion", ": релиз: 2.0.3", ": отдых-клиент-строитель: 1.0.2") { экспорт = ложь } \t \t среда «базы данных миграции: 1.3.2» \t } записи «сборки» были получены, когда я создал проект в качестве плагина. –

ответ

0

Я только что заметил свою ошибку. Я не заметил, что есть двоеточие перед именем плагина. У меня было:

runtime("database-migration:1.3.2") 

, что я должен был написать это: '! Duh'

runtime(":database-migration:1.3.2") 

Сочетание и какой странный синтаксис требует двоеточия перед каждым термином. Ну, так оно и есть. Напоминает мне время в клиенте в темные времена, когда группа людей смотрела на программу Cobol, которая плохо себя чувствовала, и никто не мог понять, почему. У меня был взгляд, хотя я почти не знал Кобола. В три раза я указал, что после заявления «если» и перед «остальным» пропала полная остановка. По крайней мере двоеточие имеет две полные остановки, поэтому мне, возможно, придется признать, что мое зрение не то, что было ...