gpt4 book ai didi

java - 从 Java 运行 Ruby 命令行应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 06:45:43 25 4
gpt4 key购买 nike

我希望能够从 Java 运行命令行界面 Ruby 应用程序。我想这样做,这样我就可以启动和停止 FakeS3 (轻量级 S3 服务器)在一些测试之前和之后,以测试一些使用 Java AWS SDK 的代码。测试必须能够在我的机器以及 Jenkins 构建机器上运行

要求是:

  1. 不能要求对其运行的系统进行任何更改(不允许安装应用程序、重新配置系统设置等)
  2. 独立于平台

我尝试了几种选择,但尚未成功:

  1. Run using jruby - 我尝试在项目中的各种不同脚本文件上调用 evalScript,但最终总是收到异常,指出无法找到使用 require 包含的文件。我找不到任何运行不包含在一个文件中的 Ruby 脚本的示例,并且不知道如何告诉运行时要包含的路径
  2. Compile with rubyflux - 再次尝试编译多个文件,但它生成的 Java 代码始终相同,并且没有真正执行任何操作

是否有我可以尝试的更简单的解决方案,或者我可以做些什么来使这些方法之一发挥作用?

最佳答案

我认为最好的方法是使用 jruby。您只需配置加载路径即可执行此操作。

ScriptingContainer sc = new ScriptingContainer();
sc.setLoadPaths(Arrays.asList("folder1", "folder2"));

File server = new File("server.rb");
sc.runScriptlet(new FileReader(server), server.getName());

关于java - 从 Java 运行 Ruby 命令行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021230/

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