You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@avro.apache.org by Ian Gibbs <ia...@virtualclarity.com> on 2015/09/17 13:11:13 UTC
Jackson version problem?
Dear list,
I'm trying to use the Schema parser. When I do so, I get the java error
"Cannot inherit from final class", apparently at the point where a
Jackson ObjectMapper is created.
Exception in thread "main" java.lang.VerifyError: Cannot inherit from
final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.avro.Schema.<clinit>(Schema.java:81)
The relevant part of the Schema code is:
79: public abstract class Schema extends JsonProperties {
80: static final JsonFactory FACTORY = new JsonFactory();
81: static final ObjectMapper MAPPER = new ObjectMapper(FACTORY);
I infer that the Schema class is creating an ObjectMapper in a way that
causes it to be extended, and expects it to be extendable, but it isn't.
But if I look at the source for the ObjectMapper, it would appear the
class isn't final:
57 public class [More ...] ObjectMapper
58 extends ObjectCodec
59 implements Versioned
60 {
So perhaps my inference is wrong. Can someone help, please? I have
following in my CP:
jackson-asl-0.9.5
jackson-core-asl-1.9.13
jackson-mapper-asl-1.9.13
avro-1.7.7
The Getting Started page
(http://avro.apache.org/docs/1.7.7/gettingstartedjava.html) doesn't
define which version of Jackson I should have.
Ian