gpt4 book ai didi

ruby - Jruby Gems-in-a-jar 问题

转载 作者:数据小太阳 更新时间:2023-10-29 06:50:42 27 4
gpt4 key购买 nike

只要我乐于坚持使用标准的 jruby 库,一切都很好。如 jruby 网站上所述,我只是将 jruby-complete.jar 库复制到远程计算机并在运行时将其包含在类路径中。我启动了我的编译脚本,它运行起来了:太棒了!

当我需要一些其他库(通常是 ruby​​gems)来运行我的脚本时,问题就开始了。
我知道像 rawr 这样很酷的东西,我成功地测试了它,可以将你需要的所有东西放在一个包中。然而,这不是我正在寻找的解决方案:我将有许多独立运行的小脚本,我不希望它们中的每一个都增长到至少 10 MB,只是因为我疯狂地在每个脚本中包含了 jruby-complete.jar他们。

我想要的是为我需要使用的每个库编译一个 .jar,将它们全部放在远程机器上的一个公共(public)文件夹中,并在运行时将它们包含在类路径中,当我运行我的编译JVM 上的 jruby 脚本。
这就是说,我尝试按照此处的说明进行操作:http://blog.nicksieger.com/articles/2009/01/10/jruby-1-1-6-gems-in-a-jar
我用“慢性” gem 尝试了那里显示的示例。一步一步来:

  1. 在本地安装 gem:java -jar jruby-complete-1.1.6.jar -S gem install -i ./chronic chronic --no-rdoc --no-ri
  2. 将它打包成一个 jar :jar cf chronic.jar -C 慢性。
  3. 编写两行测试脚本,保存为testt.rb:

    require 'chronic'
    Chronic.parse('tomorrow')

  4. 编译:jrubyc testt.rb

  5. 使用以下命令运行生成的 java 类 testt.class(将 jruby-complete.jar 和 chronic.jar 与 java 类放在同一文件夹中):java -cp .:/jruby-complete.jar:./chronic.jar testt

我收到以下错误:

线程“主”文件中的异常:/Users/ave2/NetBeansProjects/jrubywatir/lib/jruby-complete.jar!/METAINF/jruby.home/lib/ruby/site_ruby/shared/builtin/core_ext/symbol.rb :1:in `const_missing': 未初始化常量 Chronic (NameError)
来自 testt.rb:2
...省略了内部 jruby 堆栈...
来自 Module.const_missing(testt.rb:2)
来自(未知)。(未知)(:1)

我真的不明白我做错了什么,我完全坚持这一点。我是 Ruby 的菜鸟,更习惯于 Python:不要错过改变异教徒的机会! :-) 谢谢。

最佳答案

据我所知,看起来您没有做错任何事情,而且您可能遇到了错误。您能否使用较新版本 (http://jruby.org/download) 尝试您的示例,如果问题仍然存在,请在 http://bugs.jruby.org/ 处创建一个错误?谢谢。

关于ruby - Jruby Gems-in-a-jar 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2664593/

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