grails/groovy控制台VS war文件模糊方法SQL



因此,使用grails运行应用程序VS war文件。

我的期望是,要生成一个war文件并将其放入Tomcat,我所要做的就是键入war

下面的代码在RUN-APP控制台上运行良好。代码被精简为不起作用的部分。

package foo
import groovy.sql.Sql;
class FooAlertJob {
    static triggers = {
      simple name: 'mySimpleTrigger',  startDelay:5000, repeatInterval: 1000*10l
    }
    def dataSourceFoo
    def execute() {
        def sql = new Sql (dataSourceFoo)
    }
}

当运行tomcat和从grails构建的war文件时,我得到了(粘贴在下面)

由于以下对象之间的原型重叠,无法解析为[null]调用哪个方法:[interfacejavax.sql.DataSource][interfacejava.sql.Connection]]

我在谷歌上搜索并没有找到解决方案,所以也许我只是很笨。

我必须对我的groovy做些什么,这样当我生成一个war文件时,我就不必担心重新测试它了?

我已经尝试过将sql完全限定为groovy.sql.sql的显而易见的方法,但我没有一个从运行应用程序到war文件的工作代码的清晰示例。

同样令人沮丧的是groovy/grails文档甚至没有提到它,所以我想知道我是否只是不理解这里的基础知识。我对运行时groovy VS编译时很清楚,但如果您生成一个war文件,您仍然会认为从grails文档中复制/粘贴的示例会起作用。

java 1.8圣杯2.5.3Groovy 2.4.5

[interfacejava.sql.Connection][参见嵌套异常:groovy.lang.GroovyRuntimeException:方法groovy.sql.sql#的方法重载不明确。由于以下对象之间的原型重叠,无法解析要为[null]调用的方法:[interfacejavax.sql.DataSource][interfacejava.sql.Connection]]

Grails生成的war文件忽略dataSource URL

看起来是手掌拍在前额上。

数据源需要在生产环境中定义,因为这正是war文件所期望的。

谢谢大家。

最新更新