gpt4 book ai didi

java - 从 ScriptEngineManager eval 方法设置 gem 路径

转载 作者:行者123 更新时间:2023-11-30 09:46:07 25 4
gpt4 key购买 nike

是否可以通过 Java 中的 ScriptEngineManager 设置我的 jruby 的 gem 路径?问题是我使用的是压缩的 jruby 解释器 (jruby-complete.jar) 并且不可能使用预安装的 gems 获得这个包,所以我正在尝试做的是使用 ScriptEngineManager 从 Java 运行 jruby 并重定向gem 到我安装在硬盘上的 gem 的路径。

例子:

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

最佳答案

我刚刚从 ruby​​ 中以编程方式设置了环境变量 RUBYLIB 和 GEM_HOME:

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

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

关于java - 从 ScriptEngineManager eval 方法设置 gem 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7288452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com