Tag: jruby

使用rvm jruby install将JRuby嵌入Java代码中

我正在尝试从Java应用程序中嵌入和评估ruby代码。 我没有将jruby-complete.jar放在我的类路径中,而是需要能够使用与rvm一起安装的jruby环境。 我可以执行基本的内核代码,但是我遇到了需要标准库(fileutils,tmpdir等)的问题。 我在下面创建了一个使用通过RVM安装的JRuby的测试文件,如果你有一个本地的rvm + jruby安装(将JRUBY_VERSION更改为安装的版本),任何人都应该能够编译+运行它。 我意识到我引用的jruby.jar与jruby-complete.jar不同,但我希望有一种方法可以在不下载外部jar的情况下加载标准库。 import java.io.File; import java.lang.reflect.Method; import java.net.URL; import java.net.URLClassLoader; import java.util.logging.Logger; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; public class Test { private final static Logger LOG = Logger.getAnonymousLogger(); private final static String JRUBY_VERSION = “jruby-1.6.7”; public static void main(String[] args) throws Throwable { final String rvmPath = System.getenv(“HOME”) + “/.rvm/rubies/”; addFileToClasspath(rvmPath […]

是否有任何工具可以检测不再使用的代码/function?

我们有许多应用程序正在运行(考虑所有这些应用程序都在Java平台上运行),我们需要检查最后一个,比如说3个月使用哪些应用程序,以及在这些活动应用程序中,哪些部分/function(以及频率)是还在使用。 那可能吗? 这里的目标是检测不再与业务相关的应用程序或function并删除它们,这样我们最终可以减少维护和监视的代码。 是否有任何工具可以帮助我们实现这一目标? 我们使用敏捷方法,因此当新应用程序投入生产时,它只具有对业务很重要的function,但有时这个应用程序的某些function会过期(出于不同的原因),所以我们希望有一种识别方法那。

黄瓜0.4.3(cuke4duke)与java + maven gem问题

我最近开始为黄瓜安装一个示例项目,并尝试使用maven + java运行它。 我按照这个指南 http://www.goodercode.com/wp/using-cucumber-tests-with-maven-and-java/ 第一个问题是当我运行mvn cuke4duke:cucumber -DinstallGems = true我从jruby-complete-1.5.6 jar运行gem命令时遇到问题 我安装了JRuby1.5.6并将cuke4duke gem自己安装到maven存储库。 现在,当我运行上面的命令时,我在脚本文件“require’rubygem’”中收到错误,并且它无法再次执行gem命令。 我在xp上运行并尝试使用maven 2.0.9和maven 3.0.2(全新安装) 我已经尝试运行java -classpath“跟踪中的所有库”org.Main gem install cuke4duke ….(请参阅完整命令的跟踪),这不起作用。 为了安装gems,我使用了JRuby安装程序并执行了相同的命令,它运行正常。 用java在Windows上运行黄瓜怎么这么难? 我尝试了几种变化,只是不知道接下来该做什么。 这是我的堆栈跟踪与运行mvn cuke4duke:cucumber -DinstallGems = true Apache Maven 3.0.2 (r1056850; 2011-01-09 00:58:10+0000) Java version: 1.6.0_21, vendor: Sun Microsystems Inc. Java home: C:\Program Files\Java\jdk1.6.0_21\jre Default locale: en_GB, platform encoding: Cp1252 OS […]

JRuby调用了错误的方法

从JRuby调用Java方法时遇到了一个奇怪的问题。 在我的Java类中,这些方法被定义了两次,看来JRuby调用了错误的方法。 所以我尝试使用java_method ,但我总是得到: TypeError:无法将类org.jruby.RubyModule的实例转换为类java.lang.Class 这是我的Java代码: public class Renderer { … public void addRenderer(IElementRenderer r) { System.out.println(“Added element render: ” + r.getClass().toString()); basicRenderers.add(r); rendererMap.put(r.elementClass(), r); } public void addRenderer(IBasicRenderer r) { System.out.println(“SHOULD NOT GO THERE !!”); basicRenderers.add(r); } } 和我的JRuby代码: add_renderer = renderer.java_method :add_renderer, [Java::dragon.render.IElementRenderer] add_renderer.call TextRenderer.new 我也试过java_send但是我得到了同样的错误: renderer.java_send(:add_renderer,[Java :: dragon.render.IElementRenderer],TextRenderer.new) 接下来,我试过: renderer.add_renderer(TextRenderer.new.to_java(IElementRenderer)) 这次没有错误,但是错误的方法被称为…… 我该如何解决这个问题?

是否可以从JRuby创建Java类并在Java中使用它们?

我试图从JRuby扩展Lucene的Analyzer并从java中使用它。 一个简单的分析器看起来像: class MyAnalyzer < Java::OrgApacheLuceneAnalysis::Analyzer def TokenStream (file_name, reader) result = StandardTokenizer.new(Version::LUCENE_CURRENT, reader) result = LowerCaseFilter.new(result) result = LengthFilter.new(result, 3, 50) result = StopFilter.new(result, StandardAnalyzer.STOP_WORDS_SET) result = PorterStemFilter.new(result) result end end 然后我编译它: jrubyc -c /home/camilo/trunk/utils/target/dependency/lucene-core-3.0.2.jar –javac MyAnalyzer.rb并将其打包为jar。 现在,当尝试在java中使用MyAnalyzer , MyAnalyzer是org.jruby.RubyObject的后代,而不是org.apache.lucene.analysis.Analyzer的后代。 有没有办法让Java将MyAnalyzer视为Analyzer而不是RubyObject ? 或者这是否超出了JRuby现在可以做的范围? JRuby版本: jruby 1.6.0 (ruby 1.8.7 patchlevel 330)

在Android中使用动态语言开始编程((J)Ruby,Clojure ……)

我一直在环顾四周,似乎无法找到任何明确的答案或进展似乎是“最新的”。 我见过一些有趣的项目,比如Mirah(以前的Duby),我正在研究它。 我见过JRuby用于将ruby编译成.dex的失败。 我也一直在寻找Clojure,并意识到他们可能都与同一件事有关。 有没有人有关于如何开始并取得进展的任何提示? 我不仅要问哪些框架可以提供帮助,更重要的是,我还要提出一个指导我的努力的理念/方向,以便开始。

如何使用JRuby创建Java applet?

我想使用JRuby创建一个Java applet。 也就是说,我想用JRuby运行的Ruby代码创建一个Java applet来完成所有的GUI工作。 我正在寻找一个简单的例子来说明如何开始这个。

是否可以将Rails应用程序编译为Java VM JAR文件?

基本上我唯一可以部署到我的部署机器的是JAR文件。 我无法安装JRuby,也无法安装Glassfish或Tomcat。 是否可以将Rails应用程序(包括Rails,当然是出售的)打包到JAR文件中以便我可以执行 c:\my_server> java rails_app.jar 让它在JVM中运行WEBRick或Mongrel?

JRuby PermGen空间不足甚至在ruby代码中使用java对象

描述: 如果我们使用java对象jruby也得到permgen: System.out.println(“Initialazing..”); //Spring applicaton context WebApplicationContext wac = (WebApplicationContext) AppContext.getApplicationContext(); // prepare path to internal ruby String scriptsPath = wac.getServletContext().getRealPath(RUBY_PATH); String jrubyHome = wac.getServletContext().getRealPath(“WEB-INF” + File.separator + “jruby”); // Initializing Scripting container ScriptingContainer container = new ScriptingContainer(isShared ? LocalContextScope.SINGLETHREAD : LocalContextScope.THREADSAFE, LocalVariableBehavior.PERSISTENT); // Configuring scriptingcontainer to avoid memory leaks container.setCompileMode(RubyInstanceConfig.CompileMode.OFF); System.setProperty(“org.jruby.embed.compilemode”, “OFF”); System.setProperty(“jruby.compile.mode”, “OFF”); […]

如何在JRuby中初始化SQLite3 JDBC驱动程序?

如何在不使用活动记录的情况下通过JDBC访问SQLite3?