Grails战中的Groovy旧版本
出于某种原因,'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:
使用名称创建bean时出错
'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插件后开始发生,即使在删除之后,问题仍然存在。
谢谢
没有找到相关结果
已邀请:
1 个回复
盟犯涩沟都
(注意:以上示例也排除了xml-apis,如果您使用的是Java 6,则可能需要这样做,以避免重复的类) 要跟踪此类冲突,您可以使用以下命令:
在target / dependency-report /下生成报告