Error "cannot load Java class"

A

Ahmed Abdelsalam

I've created two java classes that I'm trying to call from ruby file. I
put the java classes with the ruby file in the same directory, and tried
to run.

I accessed java classes from the ruby file using full class path like:
Java::com.ch.Cells

but I got the following error:
org.jruby.exceptions.RaiseException: cannot load Java class
com.ch.Cells
at
com.sun.script.jruby.JRubyScriptEngine.evalNode(JRubyScriptEngine.java:456)
at
com.sun.script.jruby.JRubyScriptEngine.eval(JRubyScriptEngine.java:186)
at javax.script.AbstractScriptEngine.eval(Unknown Source)

Caused by: org.jruby.exceptions.RaiseException: cannot load Java class
com.ch.Cells
at (unknown).(unknown)(/builtin/java/ast.rb:49)
at
(unknown).get_proxy_or_package_under_package(/builtin/javasupport/java.rb:51)
at #<Class:01x965654>.method_missing(<unknown>:1)
at (unknown).(unknown):)1)


Any help !!!
 
C

Chuck Remes

I've created two java classes that I'm trying to call from ruby
file. I
put the java classes with the ruby file in the same directory, and
tried
to run.

I accessed java classes from the ruby file using full class path like:
Java::com.ch.Cells

but I got the following error:
org.jruby.exceptions.RaiseException: cannot load Java class
com.ch.Cells
at
com
.sun.script.jruby.JRubyScriptEngine.evalNode(JRubyScriptEngine.java:
456)
at
com.sun.script.jruby.JRubyScriptEngine.eval(JRubyScriptEngine.java:
186)
at javax.script.AbstractScriptEngine.eval(Unknown Source)

Caused by: org.jruby.exceptions.RaiseException: cannot load Java class
com.ch.Cells
at (unknown).(unknown)(/builtin/java/ast.rb:49)
at
(unknown).get_proxy_or_package_under_package(/builtin/javasupport/
java.rb:51)
at #<Class:01x965654>.method_missing(<unknown>:1)
at (unknown).(unknown):)1)

You need to show us the code too. Show the Java and show the ruby.

cr
 
A

Ahmed Abdelsalam

Chuck said:
You need to show us the code too. Show the Java and show the ruby.

cr

Here is the ruby code:
class Cells < Java::cz.cesnet.meta.jruby.Cells
def initialize
@cells = {'a1' => 'Hello a1'};
end
end

here is the java code:
ScriptEngineManager m = new ScriptEngineManager();

// Override due to classpath troubles with OSGi ?
m.registerEngineName("jruby",
new com.sun.script.jruby.JRubyScriptEngineFactory());

//get jruby engine
ScriptEngine jruby = m.getEngineByName("jruby");
//process a ruby file
jruby.eval(new BufferedReader(new FileReader("... path to ruby
file")));
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,776
Messages
2,569,603
Members
45,189
Latest member
CryptoTaxSoftware

Latest Threads

Top