Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
grails/groovy控制台与war文件不明确的SQL方法_Sql_Grails_Groovy_Datasource - Fatal编程技术网

grails/groovy控制台与war文件不明确的SQL方法

grails/groovy控制台与war文件不明确的SQL方法,sql,grails,groovy,datasource,Sql,Grails,Groovy,Datasource,因此,使用grails运行app VS war文件 我的期望是,要生成一个war文件并将其放入Tomcat,我所要做的就是键入war 下面的代码在RUN-APP控制台上运行良好。代码被精简为不起作用的代码 package foo import groovy.sql.Sql; class FooAlertJob { static triggers = { simple name: 'mySimpleTrigger', startDelay:5000, repeatInterv

因此,使用grails运行app 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]调用的方法,因为以下对象之间的原型重叠: [接口javax.sql.DataSource] [接口java.sql.Connection]

在谷歌上四处搜索,我并没有找到解决办法,所以也许我只是太笨了

我必须对groovy做些什么,以便在生成war文件时不必担心重新测试它

我已经尝试过将sql完全限定为groovy.sql.sql,但我没有一个清晰的示例来说明从RunApp到war文件的工作代码

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

java 1.8 Grails 2.5.3 Groovy 2.4.5

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

看起来像是手掌打在额头上

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


谢谢大家。

datasourcefo
为空不,不为空。这是一个grails应用程序。它是在DataSource.groovy中定义的,其工作原理与您在grails控制台中看到的运行命令run appYes It is null的工作原理相同。这就是错误所说的请显示DataSource.groovy.datasourcefo{loggingSql=true username=“reader”password=“reader1”readOnly=true url=“jdbc:sqlserver://localhost:1433;databaseName=报告“driverClassName=“com.microsoft.sqlserver.jdbc.SQLServerDriver”dialent=“org.hibernate.dialent.sqlserverdialent”}