On Thu, Sep 30, 2010 at 9:30 AM, Scott Carey <[email protected]> wrote: > I think Jersey uses the Jackson JSON library, like Avro does. The Schema > class is the first class in the chain that references jackson classes. If > the version of Jackson that Jersey uses is old enough, that might be the > problem. Its version likely comes first in the classpath. Some of the > 1.0.x Jackson versions are known to be incompatible with later Jackson 1.x > versions. > The trace below is cryptic, but the first place I would look would be a jar > file conflict in a common dependeny.
Right: specifically, this is due to unintended binary incompatibility in Jackson (between version 1.1 and 1.2), casued by changing configuration method return type from void to "this type". Change was made to allow chaining of calls, and is source compatible. But it was not realized at the time that it is not binary compatible... hence issues. Solution is simple; code that configures Jackson ObjectMapper needs to be recompiled. This is not a problem for direct usage, but is problematic when Jackson is transitive dependency. So in case of Avro one has to recompile avro lib with never Jackson version, or upgrade to version that was compiled against later version. -+ Tatu +-
