2012-03-18 23 views
0

我必须从高于脚本的路径运行我的Ruby脚本。我的Ruby文件位于文件夹lib。我在控制台启动它:如何在JRuby中更改工作目录?

jruby --1.9 -Clib main.rb 

但它无法正常工作。它会更改Dir.pwd,但需要不会看到它,而另一个库DataMapper也不会看到它。 我知道我可以通过-Ilib添加被require所看到的路径,但它不能修复DataMapper问题,而且我认为它很丑。

回答

0

require$LOAD_PATH加载文件。如果要加载的文件所在的目录不在$LOAD_PATH上,则require将找不到它。如果您想要加载非$LOAD_PATH文件,但是相对于当前正在执行的文件的位置,则需要使用require_relative

0

假设这是你的文件夹结构

  • 应用/其它/ some_class.rb
  • 应用程序/ lib目录/ main.rb的

如果您浏览到lib文件夹

  • cd app/lib

然后运行main.rb的脚本

  • JRuby的main.rb的

您可以参考some_class.rb文件在您main.rb的脚本这一行

  • 要求“../other/some_class.rb”