diff --git a/container-tests/src/test/java/test/org/jboss/forge/furnace/classpath/JAXBLookupTest.java b/container-tests/src/test/java/test/org/jboss/forge/furnace/classpath/JAXBLookupTest.java
new file mode 100644
index 00000000..bd8b7a87
--- /dev/null
+++ b/container-tests/src/test/java/test/org/jboss/forge/furnace/classpath/JAXBLookupTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2014 Red Hat, Inc. and/or its affiliates.
+ *
+ * Licensed under the Eclipse Public License version 1.0, available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+package test.org.jboss.forge.furnace.classpath;
+
+import java.io.ByteArrayInputStream;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.annotation.XmlRootElement;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.forge.arquillian.archive.ForgeArchive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.junit.Assert;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(Arquillian.class)
+public class JAXBLookupTest
+{
+ @Deployment
+ public static ForgeArchive getDeployment()
+ {
+ ForgeArchive archive = ShrinkWrap.create(ForgeArchive.class)
+ .addClass(TestRoot.class)
+ .addAsLocalServices(JAXBLookupTest.class);
+
+ return archive;
+ }
+
+ @Test
+ public void testGetJDKProvidedJAXBImpl() throws Exception
+ {
+ try
+ {
+ getClass().getClassLoader().loadClass("com.sun.xml.internal.bind.v2.ContextFactory");
+ }
+ catch (Exception e)
+ {
+ Assert.fail("Could not load required Factory class." + e.getMessage());
+ }
+ }
+
+ @Test
+ public void testJAXBLookup() throws Exception
+ {
+ Assert.assertNotNull(JAXBContext.newInstance(TestRoot.class).createUnmarshaller()
+ .unmarshal(new ByteArrayInputStream("".getBytes())));
+ }
+
+ @XmlRootElement
+ public static class TestRoot
+ {
+
+ }
+}
diff --git a/container/src/main/java/org/jboss/forge/furnace/impl/modules/AddonModuleLoader.java b/container/src/main/java/org/jboss/forge/furnace/impl/modules/AddonModuleLoader.java
index 5fe6212c..a597d110 100644
--- a/container/src/main/java/org/jboss/forge/furnace/impl/modules/AddonModuleLoader.java
+++ b/container/src/main/java/org/jboss/forge/furnace/impl/modules/AddonModuleLoader.java
@@ -26,6 +26,7 @@
import org.jboss.forge.furnace.impl.addons.AddonStateManager;
import org.jboss.forge.furnace.impl.modules.providers.CORBAClasspathSpec;
import org.jboss.forge.furnace.impl.modules.providers.FurnaceContainerSpec;
+import org.jboss.forge.furnace.impl.modules.providers.JAXBJDKClasspathSpec;
import org.jboss.forge.furnace.impl.modules.providers.SunJDKClasspathSpec;
import org.jboss.forge.furnace.impl.modules.providers.SunMiscClasspathSpec;
import org.jboss.forge.furnace.impl.modules.providers.SystemClasspathSpec;
@@ -164,6 +165,7 @@ private ModuleSpec findAddonModule(ModuleIdentifier id)
builder.addDependency(DependencySpec.createModuleDependencySpec(SystemClasspathSpec.ID));
builder.addDependency(DependencySpec.createModuleDependencySpec(XPathJDKClasspathSpec.ID));
+ builder.addDependency(DependencySpec.createModuleDependencySpec(JAXBJDKClasspathSpec.ID));
builder.addDependency(DependencySpec.createModuleDependencySpec(CORBAClasspathSpec.ID));
builder.addDependency(DependencySpec.createModuleDependencySpec(SunMiscClasspathSpec.ID));
builder.addDependency(DependencySpec.createModuleDependencySpec(SunJDKClasspathSpec.ID));
diff --git a/container/src/main/java/org/jboss/forge/furnace/impl/modules/providers/JAXBJDKClasspathSpec.java b/container/src/main/java/org/jboss/forge/furnace/impl/modules/providers/JAXBJDKClasspathSpec.java
new file mode 100644
index 00000000..1c0d8798
--- /dev/null
+++ b/container/src/main/java/org/jboss/forge/furnace/impl/modules/providers/JAXBJDKClasspathSpec.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright 2014 Red Hat, Inc. and/or its affiliates.
+ *
+ * Licensed under the Eclipse Public License version 1.0, available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.jboss.forge.furnace.impl.modules.providers;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.forge.furnace.impl.modules.ModuleSpecProvider;
+import org.jboss.modules.ModuleIdentifier;
+
+/**
+ * {@link ModuleSpecProvider} for the JAXB classes
+ *
+ * @author George Gastaldi
+ */
+public class JAXBJDKClasspathSpec extends AbstractModuleSpecProvider
+{
+ public static final ModuleIdentifier ID = ModuleIdentifier.create("sun.jdk.jaxb");
+
+ public static Set paths = new HashSet();
+
+ static
+ {
+ paths.add("com/sun/xml/internal/bind");
+ paths.add("com/sun/xml/internal/bind/v2");
+ }
+
+ @Override
+ protected ModuleIdentifier getId()
+ {
+ return ID;
+ }
+
+ @Override
+ protected Set getPaths()
+ {
+ return paths;
+ }
+}
diff --git a/container/src/main/resources/META-INF/services/org.jboss.forge.furnace.impl.modules.ModuleSpecProvider b/container/src/main/resources/META-INF/services/org.jboss.forge.furnace.impl.modules.ModuleSpecProvider
index a8882e23..54e2a9bd 100644
--- a/container/src/main/resources/META-INF/services/org.jboss.forge.furnace.impl.modules.ModuleSpecProvider
+++ b/container/src/main/resources/META-INF/services/org.jboss.forge.furnace.impl.modules.ModuleSpecProvider
@@ -2,6 +2,7 @@ org.jboss.forge.furnace.impl.modules.providers.FurnaceContainerSpec
org.jboss.forge.furnace.impl.modules.providers.SunMiscClasspathSpec
org.jboss.forge.furnace.impl.modules.providers.SunJDKClasspathSpec
org.jboss.forge.furnace.impl.modules.providers.SystemClasspathSpec
+org.jboss.forge.furnace.impl.modules.providers.JAXBJDKClasspathSpec
org.jboss.forge.furnace.impl.modules.providers.XPathJDKClasspathSpec
org.jboss.forge.furnace.impl.modules.providers.XATransactionJDKClasspathSpec
org.jboss.forge.furnace.impl.modules.providers.CORBAClasspathSpec
\ No newline at end of file