标签: jruby

JRuby和Java对象

请告诉我是否可以执行以下操作:

  • 在Java中创建特定类的实例
  • 把它传递给JRuby用它做点什么
  • 继续使用Java中的"修改"版本

你能提供一个小例子吗?

编辑:事实证明,嵌入是实现这一目标的最简单方法.有关嵌入JRuby的更多信息.

java scripting jruby jruby-java-interop

6
推荐指数
1
解决办法
789
查看次数

JRuby vs YARV表现---显着差异?

我已经读过,由于字节码编译,最新版本的Ruby解释器(YARV)将有显着的性能提升.我的问题是有没有人尝试过对抗JRuby?Windows上执行的任何显着差异?

这个链接有一些很好的指标,但大多数是在Linux上运行的... http://antoniocangiano.com/2007/02/19/ruby-implementations-shootout-ruby-vs-yarv-vs-jruby-vs-gardens-point -ruby净VS-Rubinius的-VS-基数/

提前致谢!

托德

ruby jruby

6
推荐指数
1
解决办法
3846
查看次数

编译jruby"Hello world"问题

我用Ruby编程了一段时间,我真的很喜欢它.最近我开始需要编译一些ruby代码.有几个原因使用Ruby2exe不是我的选择.所以我决定尝试Jruby(生成一个罐子就足够了).

我正在使用Windows,我安装了java JDK 6u17(在C:\ Program Files\Java\jdk1.6.0_17).

我在C:\ jruby安装了jruby 1.4

我在java中创建了一个hello world,编译并执行它就好了(所以java工作正常).

我创建了一个文件"script.rb":

puts "Hello, world"

我用jruby运行这个程序:

jruby script.rb

它工作正常.

我确实将JAVA_HOME设置为C:\ Program Files\Java\jdk1.6.0_17

我也成功运行:

java -jar c:\jruby\lib\jruby.jar script.rb

然后我用命令编译:

jruby -S jrubyc script.rb

它生成类'script.class'

我的问题是我找不到正确执行script.class的方法

我尝试:

java -cp .:c:\jruby\lib\jruby.jar script

我收到错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: script
Caused by: java.lang.ClassNotFoundException: script
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: script.  Program will …
Run Code Online (Sandbox Code Playgroud)

compilation jruby

6
推荐指数
1
解决办法
5732
查看次数

我在Ruby(JRuby)代码中放入什么来打入调试器?

我熟悉一些JRuby代码,我希望能够在代码中放置一个断点并从命令行运行(像往常一样),让它在到达那一点时进入调试器.我可以在代码中添加一些东西来强制JRuby进入调试器吗?

我试过运行jruby -r debug foo.rb(而不是通常jruby foo.rb),然后设置断点b bar.py:98,然后继续.但是每次出现异常时调试器都会停止,并且在它到达我感兴趣的代码行之前似乎有很多它们.我希望能够将"break-into-debugger"放入在我的代码中运行并运行jruby foo.rb调试器停在该行的第一个位置.

(即我正在寻找import pdb;pdb.set_trace()Python中的Ruby/JRuby等价物.)

ruby debugging jruby break

6
推荐指数
1
解决办法
2676
查看次数

JRuby on Rails:在Rails应用程序中使用自定义Java类

我刚开始使用JRuby on Rails并且非常喜欢它.我知道如何在我的Rails应用程序中使用Java API中的当前类,但如果我想创建一个用纯Java代码编写的新自定义类,我怎样才能在我的Rails应用程序中使用它?

例如,假设我创建了Dog.java:

class Dog {
  private String name;

  public Dog() {
    name = "Fido";
  }

  public String getName() {
    return name;
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在我的Rails应用程序中创建一个新的Dog对象(Dog.new)?我需要将Dog.java或Dog.class文件放在某处,然后调用某种形式的"import"将其导入我的Rails应用程序.我不知道这应该放在目录结构中,也不知道我应该在哪里以及如何告诉我的应用程序如何包含它.

java ruby-on-rails jruby jrubyonrails

6
推荐指数
1
解决办法
1499
查看次数

如何在Heroku上设置pdftk或iText以使用Rails 3?

我正试图找到一种方法将FDF文件内容注入可填写的PDF文件(由客户提供,而不应该使用Prawn或PDFKit'重新绘制'),我想我必须使用iText(与JRuby一起使用) )或pdftk.

这两个lib在我的Ubuntu本地机器上都没有问题,但我想知道如何让他们在Heroku上工作.有没有人试图让iText(JRuby)或PDFTK在Heroku上工作?

谢谢你的帮助!

ruby-on-rails jruby heroku itext pdftk

6
推荐指数
1
解决办法
983
查看次数

访问Object#try

我正在尝试获取对象#fick in ruby​​的访问权限.

我认为仅仅包括activesupport就可以了,但事实并非如此.

irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'active_support'
=> true
irb(main):003:0> o = Object.new
=> #<Object:0x15d45d9>
irb(main):004:0> o.respond_to? :try
=> false
irb(main):005:0> 
Run Code Online (Sandbox Code Playgroud)

我如何获得访问权限Object#try

ruby jruby jrubyonrails ruby-on-rails-3

6
推荐指数
1
解决办法
150
查看次数

如何让自动完成功能为IntelliJ Ruby插件工作?

我使用IntelliJ IDEA 9.0.4与最新版本的Ruby插件和JRuby 1.6.0.自动填充似乎不起作用.按ctrl-space只能显示一些顶级的东西.

require 'rubygems'
require 'mechanize'
agent = Mechanize.new
Run Code Online (Sandbox Code Playgroud)

如果我输入M和ctrl-space,我希望在列表中看到Mechanize,但我什么都没得到.如果我在空行上进行ctrl-space,我会得到一些顶级的东西(FILE,LINE,别名,开始...).

ruby jruby intellij-idea

6
推荐指数
0
解决办法
660
查看次数

Jruby emacs集成

是否可以为我导入的类集成Java自动完成功能java_import?Ruby中定义的方法也很不错,但这更像是一种糖果.

emacs autocomplete jruby

6
推荐指数
1
解决办法
246
查看次数

我如何使用warbler打包的Ruby类作为Java代码中的jar?

我有一个ruby应用程序,我使用warbler编译成一个jar.我可以使用像这样的命令独立运行它java -jar executable.jar.但是我无法弄清楚如何在Java代码中使用这个jar.具体来说,我想在Java代码中创建Ruby类的对象,然后调用方法.

java jar jruby warbler

6
推荐指数
1
解决办法
341
查看次数