Установка пути к самоцвету из метода ScriptEngineManager eval - PullRequest
2 голосов
/ 02 сентября 2011

Можно ли установить путь к драгоценному камню моего jruby из ScriptEngineManager в Java? Проблема в том, что я использую сжатый интерпретатор jruby (jruby-complete.jar), и невозможно получить этот пакет с предустановленными гемами, поэтому я пытаюсь запустить jruby из Java с помощью ScriptEngineManager и перенаправить путь к драгоценным камням, которые я установил на своем жестком диске.

Пример:

public class Main {
    public static void main(String[] args) {
        StringBuffer jruby = null;
        ScriptEngine runtime = null;

        try {
            runtime = new ScriptEngineManager().getEngineByName("jruby");
            jruby = new StringBuffer();

            jruby.append("require 'ruby/Libraries.rb'");
            jruby.append("\r\n");
            jruby.append("if __FILE__ == $0");
            jruby.append("\r\n");
            jruby.append("\tzkan = ZKANWritter.new(\"");
            jruby.append("G:/path/output.xls");
            jruby.append("\",\"");
            jruby.append("G:/path/kanban.txt");
            jruby.append("\",\"//path/LT CUU.tab\")");
            jruby.append("\r\n");
            jruby.append("\tzkan.write(2)");
            jruby.append("\r\n");
            jruby.append("end");

            runtime.eval(jruby.toString());
        } catch (Exception ex) {
            System.out.println("Error: " + ex.getMessage());
        }
    }
}

Заранее спасибо

~ Eder Quiñones

1 Ответ

2 голосов
/ 10 сентября 2011

Я только что установил переменные среды RUBYLIB & GEM_HOME программно из ruby:

ENV["RUBYLIB"] = "lib/libs"
ENV["GEM_HOME"] = "lib/gems"

require "library-1.rb"
...
require "library-n.rb"
...