grails - AsciidoctorJ with explicity jruby dependency results in IncompatibleClassChangeError -
i followed helpful advice (https://github.com/asciidoctor/asciidoctorj/issues/313#issuecomment-119372587) asciidoctorj working in development environment adding explicity dependency on jruby:
compile 'org.jruby:jruby:9.0.0.0.rc1' compile 'org.asciidoctor:asciidoctorj:1.5.2'
however, when pushed code our qa environment following message:
caused by: java.lang.incompatibleclasschangeerror: found interface org.objectweb.asm.fieldvisitor, class expected @ org.jruby.java.codegen.realclassgenerator.defineoldstyleimplclass(realclassgenerator.java:104) @ org.jruby.java.codegen.realclassgenerator.createoldstyleimplclass(realclassgenerator.java:63) @ org.jruby.javasupport.java.newinterfaceimpl(java.java:1183) @ org.jruby.java.proxies.javainterfacetemplate.jcreateproxy(javainterfacetemplate.java:281) @ org.jruby.java.proxies.javainterfacetemplate.access$000(javainterfacetemplate.java:30) @ org.jruby.java.proxies.javainterfacetemplate$4.call(javainterfacetemplate.java:181) @ org.jruby.internal.runtime.methods.javamethod$javamethodn.call(javamethod.java:661) @ org.jruby.internal.runtime.methods.dynamicmethod.call(dynamicmethod.java:198) @ org.jruby.rubyclass.finvoke(rubyclass.java:624) @ org.jruby.runtime.helpers.invoke(helpers.java:500) @ org.jruby.javasupport.javautil.convertproctointerface(javautil.java:248) @ org.jruby.rubybasicobject.tojava(rubybasicobject.java:800) @ org.jruby.javasupport.javaembedutils.rubytojava(javaembedutils.java:273) @ org.asciidoctor.internal.rubyutils.rubytojava(rubyutils.java:18) @ org.asciidoctor.internal.jrubyasciidoctormodulefactory.createasciidoctormodule(jrubyasciidoctormodulefactory.java:27) @ org.asciidoctor.internal.jrubyasciidoctor.createjrubyasciidoctorinstance(jrubyasciidoctor.java:123) @ org.asciidoctor.internal.jrubyasciidoctor.create(jrubyasciidoctor.java:62) @ org.asciidoctor.asciidoctor$factory.create(asciidoctor.java:647)
based off research belive i'm hitting asm incompatibilities i'm concerned don't have our codebase/dependencies isolated enough reproducible builds. i'd appreciate advice on steps take ensure build works across environments.
further research led me discover (stupid) dependency issue between grails plugin , jruby dependency. grails including asm-3.3.1 dependency of grails-test-plugin. tried setting export = false plugin struggled work. final solution add
grails.war.resources = { stagingdir, args -> delete { fileset(file: "${stagingdir}/web-inf/lib/asm-3.3.*.jar") } }
to our buildconfig.groovy. got past asm dependency conflict.
Comments
Post a Comment