title: How do I deal with Glassfish included libs crashing with application supplied libs?
body: <p>A CXF JAX-RS application I have uses jackson to marshal POJOs to JSON. This works for the most part, but the other day it failed with a NPE when marshalling a deeply nested object.</p>
  
  <p>After some investigation I found out that Jackson was included in Glassfish 3 (through Jersey) and after removing <code>jackson-core-asl.jar, jackson-jaxrs.jar, jackson-mapper-asl.jar</code> and <code>jackson-xc.jar</code> everything worked beautifully. I guess that Jackson 1.7.1 (included in GF3) had some bug that was fixed in the version shipped with my application (1.8). </p>
  
  <p>Now the question is, why did I even have to do this in the first place? I would have thought libraries that are included in my war files should take presedence over any libraries in Glassfish's <code>/modules</code> directory.</p>
  
  <p>Is there a cleaner way to do this than removing jars from the app server? Maybe there are other applications that depend on these jars ...</p>
  
  <p><em>On a side note, the problem still exists with our GF2 container, but I cannot find any jackson libraries in the <code>/lib</code> folder (there is no <code>/modules</code> folder like in GF3). Any clues on where Jackson might be hiding in GF2 (if at all)?</em></p>