Exception trying to use BSF (java.lang.NoClassDefFoundError: org/apache/bsf/util/BSFEngineImp) ----------------------------------------------------------------------------------------------
Key: JRUBY-2898 URL: http://jira.codehaus.org/browse/JRUBY-2898 Project: JRuby Issue Type: Bug Affects Versions: JRuby 1.1.3 Environment: JRuby 1.1.3 Reporter: Hugo Reis Assignee: Thomas E Enebo I had no problems using BSF from JRuby 1.1.2 or earlier. Since JRuby 1.1.3 when trying to use BSF I get the following error: $ jruby --debug testJava.rb Hello from Ruby unable to load language: ruby: java.lang.NoClassDefFoundError: org/apache/bsf/util/BSFEngineImpl at java.lang.ClassLoader.findBootstrapClass(Native Method) at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:891) at java.lang.ClassLoader.loadClass(ClassLoader.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:299) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.bsf.BSFManager.loadScriptingEngine(Unknown Source) at org.apache.bsf.BSFManager.eval(Unknown Source) at TestBSF.<init>(TestBSF.java:12) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.jruby.javasupport.JavaConstructor.new_instance(JavaConstructor.java:195) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jruby.internal.runtime.methods.ReflectedJavaMethod.call(ReflectedJavaMethod.java:143) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:134) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:279) at org.jruby.ast.CallNode.interpret(CallNode.java:163) at org.jruby.ast.AttrAssignOneArgNode.interpret(AttrAssignOneArgNode.java:32) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:171) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:203) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:111) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:282) at org.jruby.ast.FCallNode.interpret(FCallNode.java:139) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:171) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.RubyClass.invoke(RubyClass.java:243) at org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:270) at org.jruby.RubyObject.callMethod(RubyObject.java:711) at org.jruby.RubyClass.newInstance(RubyClass.java:275) at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.jruby.internal.runtime.methods.ReflectedJavaMethod.call(ReflectedJavaMethod.java:143) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:134) at org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:76) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:111) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:282) at org.jruby.ast.FCallNode.interpret(FCallNode.java:139) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:115) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall(DefaultMethod.java:171) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:224) at org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall(CallSite.java:123) at org.jruby.runtime.CallSite$InlineCachingCallSite.call(CallSite.java:333) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:115) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:101) at org.jruby.ast.BlockNode.interpret(BlockNode.java:67) at org.jruby.ast.RootNode.interpret(RootNode.java:126) at org.jruby.Ruby.runInterpreter(Ruby.java:561) at org.jruby.Ruby.runNormally(Ruby.java:460) at org.jruby.Ruby.runFromMain(Ruby.java:327) at org.jruby.Main.run(Main.java:194) at org.jruby.Main.run(Main.java:91) at org.jruby.Main.main(Main.java:82) My code: ------------------------------------------ $ cat testJava.rb require 'java' include_class 'TestBSF' puts "Hello from Ruby" bsf = TestBSF.new ------------------------------------------ $ cat TestBSF.java import org.apache.bsf.BSFException; import org.apache.bsf.BSFManager; public class TestBSF { public TestBSF() { BSFManager bsfManager = new BSFManager(); String expression = "puts \"Hello from BSF\" "; try { bsfManager.eval("ruby", "TestBSF", -1, -1, expression); } catch (BSFException e) { e.printStackTrace(); } } } -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email