Groovy не читает файлы JAR в .groovy / lib - PullRequest
3 голосов
/ 09 июня 2011

У меня проблема с файлами jar и groovy. Для нескольких конкретных примеров я пытаюсь подключиться к базе данных postgresql и при использовании sql = Sql.newInstance("jdbc:postgresql://localhost", "user", "pass", "org.postgresql.Driver") Я получаю исключение ClassNotFound для org.postgresql.Driver. У меня есть jar postgresql в моем $ {user.home} /. Groovy / lib, и строка для загрузки оттуда в groovy-starter.conf не закомментирована. У меня также есть похожая проблема с файлом dbunit.jar.

Если я пытаюсь вручную добавить classpath с помощью groovy -cp, я получаю сообщение об ошибке Caught: java.io.UnsupportedEncodingException: p

Есть идеи?

1 Ответ

1 голос
/ 16 июня 2011

Согласно справке CLI - http://groovy.codehaus.org/Groovy+CLI:

$groovy -help
usage: groovy
 -a,--autosplit <splitPattern>   automatically split current line
                                 (defaults to '\s')
 -c,--encoding <charset>    specify the encoding of the files
 -e <script>               specify a command line script
 -h,--help                 usage information
 -i <extension>            modify files in place
 -l <port>                 listen on a port and process inbound lines
 -n                        process files line by line
 -p                        process files line by line and print result
 -v,--version              display the Groovy and JVM versions

groovy -cp скажет groovy загрузить набор символов p, который не существует.

Ваша попытка использовать ${user.home}/.groovy/lib должна была сработать, если вы использовали правильный путь для ${user.home}. Если вы добавите информацию о своей ОС, мы можем увидеть, правильно ли вы это поняли.

Как WA - просто экспортируйте переменную окружения CLASSPATH туда, где находятся банки.

Windows: set CLASSPATH=c:\temp\postgresql.jar;c:\temp\dbunit.jar ... Unix / Linux (KSH): export CLASSPATH=${HOME}/temp/postgresql.jar:${TEMP}/temp/dbunit.jar ...

...