我尝试将当前项目升级到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
答案 0 :(得分:1)
dataSource
bean现在是真实数据源的代理。它是实现TransactionAwareDataSourceProxy
接口的DataSource
实例,但由于它不是“真正的”数据源,因此无法在其上调用非标准方法。
我假设你有def dataSource
字段 - 只需将其更改为def dataSourceUnproxied
,然后就可以调用setMinEvictableIdleTimeMillis()
等方法。