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

StackOverflow https://stackoverflow.com/questions/254385

Вопрос

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

groovy RunScript.groovy

вместо:

groovy -cp ojdbc5.jar RunScript.groovy
Это было полезно?

Решение

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

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

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

  • Скопируйте нужные баночки в .groovy / lib

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

    Другие советы

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

    this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
    

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

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

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

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

    chmod u+x RunScript.groovy
    

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

    ./RunScript.groovy
    
    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top