Как мне автоматически загрузить jar базы данных в Groovy без использования ключа -cp? - PullRequest
12 голосов
/ 31 октября 2008

Я хочу упростить выполнение скрипта Groovy, который выполняет вызовы к базе данных Oracle. Как добавить jar ojdbc в путь к классам по умолчанию, чтобы я мог запустить:

groovy RunScript.groovy

вместо:

groovy -cp ojdbc5.jar RunScript.groovy

Ответы [ 4 ]

12 голосов
/ 31 октября 2008

Суммировано из Groovy Recipes , Скотт Дэвис, Автоматическое включение JAR-файлов в каталог ./groovy/lib :

  1. Создайте .groovy/lib в вашем логине
  2. Раскомментируйте следующую строку в $ {GROOVY_HOME} /conf/groovy-starter.conf

    load !{user.home}/.groovy/lib/*.jar

  3. Скопируйте банки, которые вы хотите включить в .groovy/lib

Похоже, что для Groovy 1.5 или более поздней версии вы получаете это по умолчанию (не нужно редактировать conf), просто бросьте jar в каталог / lib.

5 голосов
/ 31 октября 2008

Есть несколько способов сделать это. Вы можете добавить jar в переменную CLASSPATH вашей системы. Вы можете создать каталог с именем .groovy / lib в вашем домашнем каталоге и поместить туда jar. Он будет автоматически добавлен в ваш путь к классам во время выполнения. Или вы можете сделать это в коде:

this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
0 голосов
/ 19 марта 2017

Вы можете добавить следующее shebang в первую строку вашего скрипта Groovy:

#!/usr/bin/env groovy -cp ojdbc5.jar

Затем отметьте исполняемый файл скрипта:

chmod u+x RunScript.groovy

Теперь, когда скрипт запускается сам по себе, он автоматически устанавливает classpath.

./RunScript.groovy
0 голосов
/ 31 октября 2008

groovy - это просто скрипт-обертка для Groovy JAR, который устанавливает путь к классам Java. Полагаю, вы также можете изменить этот сценарий, добавив путь к своему JAR-файлу.

...