如何从Grails 1.2.2升级到1.3.7?

时间:2011-10-03 06:16:20

标签: grails

我尝试将当前项目升级到grails 1.3.7(从1.2.2开始)

我首先尝试grails升级,然后我尝试更新所有插件。我使用ofchart,jsecurity和liquibase。

当我尝试运行grails时(使用grails run-app)

它不会启动应用程序而是关闭它。当我查看我的stacktrace.log时,我发现了类似这样的内容:

  

2011-10-03 11:59:09,250 [main] ERROR StackTrace - 清理堆栈跟踪:   groovy.lang.MissingMethodException:没有方法签名:org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy.setMinEvictableIdleTimeMillis()适用于参数类型:(java.lang.Integer)值:[1800000]       在org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:54)       在org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)       在org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)       在org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)       在org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)       在BootStrap $ _closure1.doCall(BootStrap.groovy:12)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)       在java.lang.reflect.Method.invoke(Method.java:597)       在org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)       at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)       at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:930)       at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)       at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)       在groovy.lang.Closure.call(Closure.java:282)       在groovy.lang.Closure.call(Closure.java:277)

知道怎么解决这个问题吗?非常感谢你。

ps:我正在使用最新/最新的java。

这是我运行应用程序的脚本

set JAVA_OPTS=-Xmx512m -XX:MaxPermSize=512m 
grails run-app -Dserver.port=9090 -Ddisable.auto.recompile=false

插件列表:

 Plug-ins you currently have installed are listed below:
-------------------------------------------------------------

hibernate           1.3.7            --  Hibernate for Grails
jetty               1.2-SNAPSHOT     --  Jetty Plugin
jsecurity           0.4.1            --  Security support via the JSecurity framework.
ofchart             0.6.3            --  Plugin summary/headline

1 个答案:

答案 0 :(得分:1)

dataSource bean现在是真实数据源的代理。它是实现TransactionAwareDataSourceProxy接口的DataSource实例,但由于它不是“真正的”数据源,因此无法在其上调用非标准方法。

我假设你有def dataSource字段 - 只需将其更改为def dataSourceUnproxied,然后就可以调用setMinEvictableIdleTimeMillis()等方法。