使用groovyc编译groovy类:multiplecompliationErrorException

时间:2011-01-21 01:53:12

标签: groovy

以下是我想用groovyc编译的简单类。它总是给我“multiplecompliationErrorException”。

有人可以帮助我吗?

感谢。

import groovy.sql.Sql

class TestDb{

def sql = Sql.newInstance("jdbc:postgresql://localhost:5432/mydb",
    "user", "password", "org.postgresql.Driver")

// delete table if previously created 
try {    sql.execute("drop table if exists PERSON") 
} catch(Exception e){}

// create table sql.execute('''create table PERSON (
    id integer not null primary key,
    firstname varchar(20),
    lastname varchar(20),
    location_id integer,
    location_name varchar(30) )''')

}

2 个答案:

答案 0 :(得分:1)

  1. 您定义了一个类,然后将代码放在类体中但不在方法中。请参阅:http://groovy.codehaus.org/Scripts+and+Classes
  2. 你注释掉了sql.execute行,它应该在那里 - 没有它代码无效。
  3. 你正在吞下一个例外,即在catch区块中什么都不做。至少记录异常,这样你就可以获得更多信息(这不是你的编译问题,但无论如何都应该修复它)。

答案 1 :(得分:0)

@ hvgotcodes is right ...这是一个更正的类文件:

import groovy.sql.Sql

class TestDb{
  def sql = Sql.newInstance("jdbc:postgresql://localhost:5432/mydb", "user", "password", "org.postgresql.Driver")

  static void main( args ) {
    // delete table if previously created 
    sql.execute("drop table if exists PERSON") 

    sql.execute( '''create table PERSON (
                      id integer not null primary key,
                      firstname varchar(20),
                      lastname varchar(20),
                      location_id integer,
                      location_name varchar(30) )''' )
  }
}