Я получаю повторяющееся имя метода/сбой компиляции подписи, когда пытаюсь использовать i18nFields
в своем классе домена для поддержки нескольких языков.
Версия Grails: 2.3.7 (я пытался использовать версию 2.3.4, но получил ту же проблему и обновил ее)
Для этого использовалась документация Grails: http://grails.org/plugin/i18n-fields.
Мой класс домена выглядит так
package com.sampleapp.domain
import i18nfields.I18nFields;
@I18nFields
class Products {
def name
static constraints = {}
static i18nFields = ['name']
}
В моем Config.groovy
есть строка ниже, чтобы указать локаль
// internationalization support - testing
i18nFields {
locales = ['en','es']
}
Определение подключаемого модуля BuildConfig.groovy
plugins {
// plugins for the build system only
build ":tomcat:7.0.47"
// plugins for the compile step
compile ":scaffolding:2.0.1"
compile ':cache:1.1.1'
// plugins needed at runtime but not for compilation
runtime ":hibernate:3.6.10.6" // or":hibernate4:4.1.11"//
runtime ":database-migration:1.3.8"
runtime ":jquery:1.10.2.2"
// compile ":jquery-ui:1.10.2.2"
runtime ":resources:1.2.1"
// Uncomment these (or add new ones) to enable additional resources capabilities
runtime ":zipped-resources:1.0.1"
runtime ":cached-resources:1.1"
//runtime ":yui-minify-resources:0.1.5"
compile ':platform-core:1.0.RC6'
compile ":cache-headers:1.1.5"
runtime ':spring-security-core:2.0-RC2'
// internationalization
compile ":i18n-fields:0.8.1"
}
Ошибка компиляции
grails-workspace\Test\grails-app\domain\com\sampleapp\domain\Products.groovy: -1: Repetitive method name/signature for method 'void setName_es(java.lang.String)' in class 'com.sampleapp.domain.Products'.
@ line -1, column -1.
Ошибка дважды повторяется для свойства name для локалей en и es.
Нет ошибки, если я удалю аннотацию i18nFields, а пример приложения до этого работал нормально. Я проверил сообщение GGTS с повторяющимся именем/подписью метода в контроллерах для аналогичной ошибки в контроллере. Я также проверил, чтобы убедиться, что версия groovy верна, и в моем случае это 2.1.
Может кто-нибудь, пожалуйста, дайте мне какие-либо указатели на то, где я должен искать, чтобы решить эту проблему.