При обновлении существующего приложения (недавно обновленного и работающего с Grails 2.2.4) я обновил общий модуль (называемый myApp-common), используемый в двух компонентах приложения. Все прошло гладко, но когда я попытался обновить первый зависимый модуль, я получил эту трассировку стека, приложенную при запуске команды «grails upgrade».
| Окружающая среда готова к разработке .....
WARNING: This target will upgrade an older Grails application to 2.3.0. Are you sure you want to continue? [y,n] y
| Выполнение сценария обновления плагина myApp-common | Ошибка Ошибка при выполнении скрипта Обновление: org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой при запуске: Общая ошибка во время синтаксического анализа: не удалось найти четырехзначный шестнадцатеричный код. строка: 1 столбец: 20
1 ошибка (используйте --stacktrace, чтобы увидеть полную трассировку)
После некоторого поиска в Google выяснилось, что это связано с известной проблемой, связанной с наличием \ u в коде, когда за ним не следует шестнадцатеричный код. После удаления всех экземпляров он все еще выдавал ту же ошибку. Затем я изменил рабочую область, где в то время находился код, с C: \ unique_workspace \ Iteration21 на C: \ x_unique_workspace \ Iteration21, чтобы удалить \ u в адресе рабочей области. Выполнение этого и повторная попытка обновления привели к следующей трассировке стека:
| Окружающая среда готова к разработке .....
| Выполнение сценария обновления плагина myApp-common | Ошибка Ошибка при выполнении скрипта Обновление: org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой при запуске:
WARNING: This target will upgrade an older Grails application to 2.3.0. Are you sure you want to continue? [y,n] y
1 ошибка (ПРИМЕЧАНИЕ. Трассировка стека была отфильтрована. Используйте --verbose, чтобы увидеть всю трассировку.) Org.codehaus.groovy.control.MultipleCompilationErrorsException: ошибка запуска:
Script1.groovy: 1: unexpected char: '\' @ line 1, column 20.
def pluginDir = 'C:\x_unique_workspace\Iteration21\myApp-common'
^
1 ошибка
Script1.groovy: 1: unexpected char: '\' @ line 1, column 20.
def pluginDir = 'C:\x_unique_workspace\Iteration21\myApp-common'
^
| Ошибка Ошибка при выполнении скрипта Обновление: org.codehaus.groovy.control.MultipleCompilationErrorsException: сбой при запуске:
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:72) at Upgrade$_run_closure1.doCall(Upgrade.groovy:229) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy) at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90) at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy) at org.codehaus.gant.GantMetaClass.processClosure(GantMetaClass.java:81) at org.codehaus.gant.GantMetaClass.processArgument(GantMetaClass.java:95) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:128) at Upgrade$_run_closure2.doCall(Upgrade.groovy:239) at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:133) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy) at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90) at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185) at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy) at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381) at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415) at gant.Gant$_dispatch_closure7.doCall(Gant.groovy) at gant.Gant.withBuildListeners(Gant.groovy:427) at gant.Gant.this$2$withBuildListeners(Gant.groovy) at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source) at gant.Gant.dispatch(Gant.groovy:415) at gant.Gant.this$2$dispatch(Gant.groovy) at gant.Gant.invokeMethod(Gant.groovy) at gant.Gant.executeTargets(Gant.groovy:591) at gant.Gant.executeTargets(Gant.groovy:590)
Похоже, что сценарий обновления задыхается от символа '\' при обновлении общего подключаемого модуля, который требуется модулю, но мне трудно найти способ обойти это.
Script1.groovy: 1: unexpected char: '\' @ line 1, column 20.
def pluginDir = 'C:\x_unique_workspace\Iteration21\myApp-common'
^
У меня была такая же проблема при попытке выполнить обновление (плагин spring-security-core). Я добавил следующее свойство в свой BuildConfig.groovy, чтобы исправить это:
def pluginDir = 'C:\x_unique_workspace\Iteration21\myApp-common'
был закомментирован, что привело к появлению этого сообщения об ошибке. Удаление этого файла устранило проблему - person tim_yates   schedule 17.09.2013