По какой-то причине 'grails war' включает в "WEB-INF / lib" файлы "groovy-1.6.9.jar" и "groovy-all-1.7.8.jar". Я работаю с Grails 1.3.7 и при развертывании этой войны в Tomcat я получаю следующую ошибку:
org.springframework.beans.factory.BeanCreationException:
Ошибка создания бина с именем
'pluginManager' определен в
ServletContext ресурс
[/WEB-INF/applicationContext.xml]:
Ошибка вызова метода init;
вложенное исключение
java.lang.NoSuchMethodError:
org.codehaus.groovy.control.SourceUnit.getSource () Lorg / Codehaus / заводной / контроль / IO / ReaderSource;
Единственный способ развернуть войну - удалить старый файл groovy, и приложение работает нормально.
Я отладил процесс зависимости, и все, что я смог найти, это:
[NOT REQUIRED] org.codehaus.groovy#groovy;1.6.9!groovy.jar
...
:: evicted modules:
junit#junit;3.8.2 by [junit#junit;4.8.1] in [test]
in org.codehaus.groovy#groovy;1.6.9 with latest-revision
Итак, я продолжил и добрался до файла 'org.codehaus.groovy.modules.http-builder / http-builder / ivy-0.5.0-RC2.xml', который содержит следующее:
<dependency org="org.codehaus.groovy" name="groovy" rev="[1.5,1.6.99)"
Я изменил эту строку на "[1.7,1.7.8)", и процесс зависимости работает нормально, и теперь война разворачивается без каких-либо проблем, но я никогда раньше не касался этого, и я волнуюсь. Это правильный способ работы с зависимостями Grails?
Все это начало происходить после установки плагина JQuery UI и даже после его удаления проблема продолжалась.
Спасибо