title: Jaxb marshalling failing with ClassNotFound Exception
body: <p>I have compile my xsd doc and begun to write junit tests for my wrapper.</p>
  
  <p>When I call marshal I get the stack trace below. I was surprised to have an eclipse class not found. (org.eclipse.persistence.jaxb.JAXBContextFactory)</p>
  
  <p>What am I missing from my classpath? Or is there something else I am missing?</p>
  
  <p>I am running eclipse indigo 3.7.2.</p>
  
  <p>My classpath include the following jars:
  jaxb-api.jar, jaxb-impl.jar, jaxb-xjc.jar, jaxb1impl.jar, jsr173_1.0_api.jar, </p>
  
  <p>My compiler is set to java 6 compatability.</p>
  
  <pre><code>1 [main] WARN com.bellsouth.snt.cnmp.dao.csp.CspInputMarshaller  - Cannot marshal xml data
  javax.xml.bind.JAXBException: Provider org.eclipse.persistence.jaxb.JAXBContextFactory not found
   - with linked exception:
  [java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory]
      at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
  at javax.xml.bind.ContextFinder.find(Unknown Source)
  at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
  at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
  at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
  at com.bellsouth.snt.cnmp.dao.csp.CspInputMarshaller.jaxbMarshal(CspInputMarshaller.java:69)
  at com.bellsouth.snt.cnmp.dao.csp.CspInputMarshaller.marshal(CspInputMarshaller.java:46)
  at com.bellsouth.snt.cnmp.dao.csp.CspInputMarshallerTest.testGetUserRequest(CspInputMarshallerTest.java:25)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  at java.lang.reflect.Method.invoke(Unknown Source)
  at junit.framework.TestCase.runTest(TestCase.java:164)
  at junit.framework.TestCase.runBare(TestCase.java:130)
  at junit.framework.TestResult$1.protect(TestResult.java:106)
  at junit.framework.TestResult.runProtected(TestResult.java:124)
  at junit.framework.TestResult.run(TestResult.java:109)
  at junit.framework.TestCase.run(TestCase.java:120)
  at junit.framework.TestSuite.runTest(TestSuite.java:230)
  at junit.framework.TestSuite.run(TestSuite.java:225)
  at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
  at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
  at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
  Caused by: java.lang.ClassNotFoundException: org.eclipse.persistence.jaxb.JAXBContextFactory
  at java.net.URLClassLoader$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at javax.xml.bind.ContextFinder.safeLoadClass(Unknown Source)
  ... 26 more
  </code></pre>
  
  <p><strong>UPDATE: a manual workaround</strong>
  The missing jar file is jaxb-impl.jar It is in my class path included from the jars in the ear project. If I add jaxb-impl.jar in the classpath ahead of the default classpath. it runs fine.</p>
  
  <p>In other project in my same workspace I do not have this issue.</p>