скомпилировать класс groovy, используя groovyc: множественное исключениеErrorException - PullRequest
1 голос
/ 21 января 2011

ниже приведен простой класс, который я хочу скомпилировать с помощью groovyc. это всегда дает мне «множественное исключениеErrorException».

Кто-нибудь может мне помочь?

спасибо.

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 ]

1 голос
/ 21 января 2011
  1. вы определили класс, а затем поместили код в тело класса, но не в метод.Смотрите это: http://groovy.codehaus.org/Scripts+and+Classes
  2. вы закомментировали строку sql.execute, которая, вероятно, должна быть там - без нее код недействителен.
  3. Вы глотаете исключениет.е. ничего не делать в блоке catch.по крайней мере, зарегистрируйте исключение, чтобы получить больше информации (это не ваша проблема компиляции, но вы все равно должны ее исправить)
0 голосов
/ 21 января 2011

@ hvgotcodes правильно ... вот исправленный файл класса:

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) )''' )
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...