title: How to use 3rd party libraries in glassfish?
body: <p>I need to connect to a MongoDB instance from my EJB3 application, running on glassfish 3.0.1. The Mongo project provides a set of drivers, and I'm able to use them in a standalone Java application.</p>
  
  <p>How would I use them in a Java EE application? Or maybe better phrasing: how would I make a 3rd party library available to my application when it runs in an EJB container?</p>
  
  <p>At the moment, I'm getting a java.lang.NoClassDefFoundError when deploying a bean that 
  tries to import from the library:</p>
  
  <pre><code>[#|2010-03-24T11:42:15.164+0100|SEVERE|glassfishv3.0|global|_ThreadID=28;_ThreadName=Thread-1;|Class [ com/mongodb/DBObject ] not found. Error while loading [ class mvs.core.LocationCacheService ]|#]
  [#|2010-03-24T11:42:15.164+0100|WARNING|glassfishv3.0|javax.enterprise.system.tools.deployment.org.glassfish.deployment.common|_ThreadID=28;_ThreadName=Thread-1;|Error in annotation processing: java.lang.NoClassDefFoundError: com/mongodb/DBObject|#]
  
  [#|2010-03-24T11:42:15.259+0100|SEVERE|glassfishv3.0|javax.enterprise.system.core.com.sun.enterprise.v3.server|_ThreadID=28;_ThreadName=Thread-1;|Exception while loading the app
  org.glassfish.deployment.common.DeploymentException: java.lang.NoClassDefFoundError: com/mongodb/DBObject
  at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:171)
  at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:125)
  at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:224)
  at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
  </code></pre>
  
  <p>I tried adding it to the NetBeans project (Properties -> Libraries -> Compile -> Add Jar, enable 'Package'), and I also tried manually copying the jar file to $GF_HOME/glassfish/domains/domain1/lib (where the mysql-connector already resides).</p>
  
  <p>Do I need to 'register' the library with the container? Reference it via Annotation? Extend the classpath of the container to include the library?</p>