Hello, ** Context: We're developing a Netbeans 7.2 RCP Java 1.6 application, on MacOS 10.7.3 with JRuby Embed (the ScriptingContainer class) via "jruby-complete-1.7.0.preview2.jar" as a Wrapped Jar. We deploy the application to Windows and Macs. We have some JUnit unit tests, and some Jellytools integration tests. ** Problem: We are running a scriptlet with JRuby Embed's ScriptingContainer.runScriptlet() with the following: ScriptingContainer container = new ScriptingContainer(); StringWriter outWriter = new StringWriter(); StringWriter errorWriter = new StringWriter(); container.setOutput(outWriter); container.setError(errorWriter); container.runScriptlet("require 'write_dicom.rb'"); The script "write_dicom.rb" is a file within one of the modules of our Application. When we run this as part of a unit test (on Mac or Windows) all is fine. When its run as part of the installed application itself (on Mac or Windows) its also fine. When its run as part of a Jellytools integration test on Mac its fine. But -- when we run it as part of a Jellytools integration test on _Windows_ we get a LoadError: LoadError: load error: write_dicom -- java.lang.IllegalArgumentException: URI is not hierarchical require at org/jruby/RubyKernel.java:1024 require at jar:file:/C:/home/build/jenkins/workspace/intel/build/cluster/modules/ext/jruby-complete-1.7.0.preview2.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/custom_require.rb:36 (root) at <script>:1 We are not getting a "LoadError: no such file to load", so we've concluded that the script has been found okay in the load path. And we've turned on loader debugging using Properties p = System.getProperties(); p.setProperty("jruby.debug.loadService", "true"); and confirmed that JRuby has indeed found the script inside the Module's jar. ** Questions: What could be going on here? Could it be something specifically related to the ClassLoader that is used by Jellytools on Windows? And, should I log this as a bug? many thanks in advance, regards, nick.
on 2012-09-27 05:52