Как изменить рабочий каталог в JRuby? - PullRequest
0 голосов
/ 18 марта 2012

Я должен запустить свой скрипт на Ruby по пути, который выше, чем скрипт.Мой Ruby-файл находится в папке lib .Я запускаю его в консоли:

jruby --1.9 -Clib main.rb

, но он работает неправильно.Он изменяет Dir.pwd, но require не видит его, и другая библиотека DataMapper не видит его тоже.Я знаю, что могу добавить путь, который будет отображать опция require by -Ilib, но это не решает проблему с DataMapper, и мне кажется, что это ужасно.

Ответы [ 2 ]

0 голосов
/ 14 мая 2013

Предполагая, что это ваша структура папок

  • приложение / другие / some_class.rb
  • Приложение / Библиотека / main.rb

Если вы перейдете в папку lib

  • cd app / lib

Затем запустите скрипт main.rb

  • jruby main.rb

С этой строкой вы можете обратиться к файлу some_class.rb в вашем скрипте main.rb

  • требуется "../other/some_class.rb"
0 голосов
/ 18 марта 2012

require загружает файл из $LOAD_PATH. Если каталог, в котором находится файл, который вы хотите загрузить, отсутствует в $LOAD_PATH, то require не найдет его. Если вы хотите загрузить файл не из $LOAD_PATH, а относительно позиции текущего исполняемого файла, вам нужно использовать require_relative.

...