I've gotten hibernate running under the jruby-complete jar, which packages ASM such that classpath collision does not occur. Try running the jar-complete ant task in your jruby directory then modify the bin/jruby script to only slurp lib/jruby-complete.jar into the classpath. I believe this happens around line 89 of the script. That ought to do the trick. Don't forget to add your JDBC driver to the classpath on your command line.

victori (JIRA) wrote:
Hibernate/Spring integration with JRuby broken due to ASM conflict
------------------------------------------------------------------

                 Key: JRUBY-978
                 URL: http://jira.codehaus.org/browse/JRUBY-978
             Project: JRuby
          Issue Type: Bug
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.0.0RC2
Environment: OSX JVM Mustang / 1.6 Reporter: victori


Seems like hibernate uses ASM 1.5.3 and you guys upgraded to ASM 2.x. So now 
there is a conflict and you can't call up Hibernate/Spring services from JRuby. 
This is a complete show stopper for me.

Here is the trace w/ code which works correctly in 0.9.9 before the ASM 
update(?)

Code:

require 'java'
@ctx = 
org.springframework.context.support.FileSystemXmlApplicationContext.new("context.xml");
mdao = @ctx.getBean("mailboxDao")
mdao.all().each {|r| p r.username }

syris:~/Documents/workspace/service-jruby victori$ ~/jruby/bin/jruby main.rb Exception in thread "main" java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.visit(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
        at 
org.jruby.compiler.impl.StandardASMCompiler.startScript(StandardASMCompiler.java:225)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.runJIT(DefaultMethod.java:218)
        at 
org.jruby.internal.runtime.methods.DefaultMethod.internalCall(DefaultMethod.java:106)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79)
        at org.jruby.RubyObject.callMethod(RubyObject.java:572)
        at org.jruby.RubyObject.callMethod(RubyObject.java:450)
        at org.jruby.RubyClass.newInstance(RubyClass.java:287)
        at org.jruby.RubyClassInvokernewInstancexx1.call(Unknown Source)
        at 
org.jruby.runtime.callback.InvocationCallback.execute(InvocationCallback.java:49)
        at 
org.jruby.internal.runtime.methods.FullFunctionCallbackMethod.internalCall(FullFunctionCallbackMethod.java:79)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79)
        at 
org.jruby.evaluator.EvaluationState.callNode(EvaluationState.java:559)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:206)
        at 
org.jruby.evaluator.EvaluationState.constDeclNode(EvaluationState.java:744)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:222)
        at 
org.jruby.evaluator.EvaluationState.blockNode(EvaluationState.java:522)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:200)
        at 
org.jruby.evaluator.EvaluationState.evalClassDefinitionBody(EvaluationState.java:1866)
        at 
org.jruby.evaluator.EvaluationState.moduleNode(EvaluationState.java:1282)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:295)
        at 
org.jruby.evaluator.EvaluationState.rootNode(EvaluationState.java:1596)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:355)
        at org.jruby.evaluator.EvaluationState.eval(EvaluationState.java:163)
        at org.jruby.Ruby.loadNode(Ruby.java:1208)
        at org.jruby.util.PreparsedScript.load(PreparsedScript.java:53)
        at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:308)
        at org.jruby.runtime.load.LoadService.require(LoadService.java:334)
        at org.jruby.RubyKernel.require(RubyKernel.java:705)
        at org.jruby.RubyKernelInvokerSrequire1.call(Unknown Source)
        at 
org.jruby.runtime.callback.InvocationCallback.execute(InvocationCallback.java:49)
        at 
org.jruby.internal.runtime.methods.FullFunctionCallbackMethod.internalCall(FullFunctionCallbackMethod.java:79)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79)
        at 
org.jruby.evaluator.EvaluationState.fCallNode(EvaluationState.java:1014)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:252)
        at 
org.jruby.evaluator.EvaluationState.blockNode(EvaluationState.java:522)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:200)
        at 
org.jruby.evaluator.EvaluationState.rootNode(EvaluationState.java:1596)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:355)
        at org.jruby.evaluator.EvaluationState.eval(EvaluationState.java:163)
        at org.jruby.Ruby.loadNode(Ruby.java:1208)
        at org.jruby.util.BuiltinScript.load(BuiltinScript.java:54)
        at org.jruby.Ruby$1.load(Ruby.java:644)
        at org.jruby.runtime.load.LoadService.smartLoad(LoadService.java:308)
        at org.jruby.runtime.load.LoadService.require(LoadService.java:334)
        at org.jruby.RubyKernel.require(RubyKernel.java:705)
        at org.jruby.RubyKernelInvokerSrequire1.call(Unknown Source)
        at 
org.jruby.runtime.callback.InvocationCallback.execute(InvocationCallback.java:49)
        at 
org.jruby.internal.runtime.methods.FullFunctionCallbackMethod.internalCall(FullFunctionCallbackMethod.java:79)
        at 
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:79)
        at 
org.jruby.evaluator.EvaluationState.fCallNode(EvaluationState.java:1014)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:252)
        at 
org.jruby.evaluator.EvaluationState.blockNode(EvaluationState.java:522)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:200)
        at 
org.jruby.evaluator.EvaluationState.rootNode(EvaluationState.java:1596)
        at 
org.jruby.evaluator.EvaluationState.evalInternal(EvaluationState.java:355)
        at org.jruby.evaluator.EvaluationState.eval(EvaluationState.java:163)
        at org.jruby.Ruby.eval(Ruby.java:277)
        at org.jruby.Ruby.compileOrFallbackAndRun(Ruby.java:303)
        at org.jruby.Main.runInterpreter(Main.java:233)
        at org.jruby.Main.runInterpreter(Main.java:190)
        at org.jruby.Main.run(Main.java:120)
        at org.jruby.Main.main(Main.java:95)





---------------------------------------------------------------------
To unsubscribe from this list please visit:

   http://xircles.codehaus.org/manage_email

Reply via email to