Not able to deploy a simple spring boot application on Weblogic 12c
<p>I am trying to deploy a simple spring boot web application on weblogic 12c and it throws the below error during deployment, but works in Tomcat.</p>

<p>The sample code I followed is from <a href="https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/single" rel="nofollow">https://github.com/spring-guides/tut-spring-security-and-angular-js/tree/master/single</a></p>

<p>The modified actual code I am using for weblogic is in 
<a href="https://github.com/jjayaraman/angular_security/tree/master/single_weblogic" rel="nofollow">https://github.com/jjayaraman/angular_security/tree/master/single_weblogic</a></p>

<p><strong>Error log</strong></p>

<pre><code>    &gt;
    &lt;Jan 29, 2016 11:41:04 AM GMT&gt; &lt;Error&gt; &lt;Munger&gt; &lt;BEA-2156200&gt; &lt;Unable to load descriptor weblogic.utils.classloaders.GenericClassLoader@30e7656c finde
    r: weblogic.utils.classloaders.CodeGenClassFinder@7e172792 annotation: /WEB-INF/lib/tomcat-embed-websocket-8.0.30.jar!/META-INF/web-fragment.xml of mo
    dule single.war. The error is weblogic.descriptor.DescriptorException: Unmarshaller failed
            at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:161)
            at weblogic.descriptor.BasicDescriptorManager.createDescriptor(BasicDescriptorManager.java:327)
            at weblogic.application.descriptor.AbstractDescriptorLoader2.getDescriptorBeanFromReader(AbstractDescriptorLoader2.java:817)
            at weblogic.application.descriptor.AbstractDescriptorLoader2.createDescriptorBean(AbstractDescriptorLoader2.java:415)
            at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBeanWithoutPlan(AbstractDescriptorLoader2.java:779)
            at weblogic.application.descriptor.AbstractDescriptorLoader2.loadDescriptorBean(AbstractDescriptorLoader2.java:792)
            at weblogic.servlet.internal.fragment.WebFragmentLoader.getWebFragmentBean(WebFragmentLoader.java:36)
            at weblogic.servlet.internal.fragment.WebFragmentManager.prepareForTopologicalSort(WebFragmentManager.java:164)
            at weblogic.servlet.internal.fragment.WebFragmentManager.sortRelatively(WebFragmentManager.java:152)
            at weblogic.servlet.internal.fragment.WebFragmentManager.sortFragments(WebFragmentManager.java:109)
            at weblogic.servlet.internal.fragment.WebFragmentManager.&lt;init&gt;(WebFragmentManager.java:54)
            at weblogic.servlet.internal.fragment.WebFragmentManager.&lt;init&gt;(WebFragmentManager.java:43)
            at weblogic.servlet.tools.WARModule.initWebFragmentManager(WARModule.java:524)
            at weblogic.servlet.tools.WARModule.merge(WARModule.java:549)
            at weblogic.application.compiler.ToolsModuleWrapper.merge(ToolsModuleWrapper.java:96)
            at weblogic.application.utils.CustomModuleManager.merge(CustomModuleManager.java:78)
            at weblogic.application.compiler.flow.SingleModuleMergeFlow.proecessModule(SingleModuleMergeFlow.java:27)
            at weblogic.application.compiler.flow.SingleModuleFlow.compile(SingleModuleFlow.java:63)
            at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
            at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
            at weblogic.application.compiler.BaseMerger.merge(BaseMerger.java:20)
            at weblogic.application.compiler.flow.AppMergerFlow.mergeInput(AppMergerFlow.java:75)
            at weblogic.application.compiler.flow.AppMergerFlow.compile(AppMergerFlow.java:40)
            at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:70)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
            at weblogic.application.compiler.FlowDriver.nextState(FlowDriver.java:37)
            at weblogic.application.compiler.AppMerge.runBody(AppMerge.java:144)
            at weblogic.utils.compiler.Tool.run(Tool.java:158)
            at weblogic.utils.compiler.Tool.run(Tool.java:115)
            at weblogic.application.compiler.AppMerge.merge(AppMerge.java:156)
            at weblogic.deploy.api.internal.utils.AppMerger.merge(AppMerger.java:94)
            at weblogic.deploy.api.internal.utils.AppMerger.getMergedApp(AppMerger.java:58)
            at weblogic.deploy.api.model.internal.WebLogicDeployableObjectFactoryImpl.createDeployableObject(WebLogicDeployableObjectFactoryImpl.java:182)

            at weblogic.deploy.api.model.internal.WebLogicDeployableObjectFactoryImpl.createLazyDeployableObject(WebLogicDeployableObjectFactoryImpl.java:
    157)
            at weblogic.deploy.api.tools.SessionHelper.inspect(SessionHelper.java:698)
            at com.bea.console.actions.app.install.Flow$2.execute(Flow.java:476)
            at com.bea.console.utils.DeploymentUtils.runDeploymentAction(DeploymentUtils.java:5157)
            at com.bea.console.actions.app.install.Flow.appSelected(Flow.java:474)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:497)
            at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870)
            at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809)
            at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478)
            at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306)
            at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336)
            at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52)
            at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptor
    s.java:64)
            at org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:184)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:
    50)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptor
    s.java:58)
            at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:87)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116)
            at com.bea.console.internal.ConsolePageFlowRequestProcessor.processActionPerform(ConsolePageFlowRequestProcessor.java:264)
            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processInternal(PageFlowRequestProcessor.java:556)
            at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.process(PageFlowRequestProcessor.java:853)
            at org.apache.beehive.netui.pageflow.AutoRegisterActionServlet.process(AutoRegisterActionServlet.java:631)
            at org.apache.beehive.netui.pageflow.PageFlowActionServlet.process(PageFlowActionServlet.java:158)
            at com.bea.console.internal.ConsoleActionServlet.process(ConsoleActionServlet.java:262)
            at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
            at com.bea.console.internal.ConsoleActionServlet.doGet(ConsoleActionServlet.java:134)
            at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1199)
            at org.apache.beehive.netui.pageflow.PageFlowUtils.strutsLookup(PageFlowUtils.java:1129)
            at com.bea.portlet.adapter.scopedcontent.framework.internal.PageFlowUtilsBeehiveDelegate.strutsLookupInternal(PageFlowUtilsBeehiveDelegate.jav
    a:43)
            at com.bea.portlet.adapter.scopedcontent.framework.PageFlowUtils.strutsLookup(PageFlowUtils.java:108)
            at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.executeAction(ScopedContentCommonSupport.java:707)
            at com.bea.portlet.adapter.scopedcontent.ScopedContentCommonSupport.processActionInternal(ScopedContentCommonSupport.java:141)
            at com.bea.portlet.adapter.scopedcontent.PageFlowStubImpl.processAction(PageFlowStubImpl.java:108)
            at com.bea.portlet.adapter.NetuiActionHandler.raiseScopedAction(NetuiActionHandler.java:111)
            at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:181)
            at com.bea.netuix.servlets.controls.content.NetuiContent.raiseScopedAction(NetuiContent.java:167)
            at com.bea.netuix.servlets.controls.content.NetuiContent.handlePostbackData(NetuiContent.java:225)
            at com.bea.netuix.nf.ControlLifecycle$2.visit(ControlLifecycle.java:180)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:324)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walkRecursive(ControlTreeWalker.java:334)
            at com.bea.netuix.nf.ControlTreeWalker.walk(ControlTreeWalker.java:130)
            at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:399)
            at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:361)
            at com.bea.netuix.nf.Lifecycle.processLifecycles(Lifecycle.java:352)
            at com.bea.netuix.nf.Lifecycle.runInbound(Lifecycle.java:184)
            at com.bea.netuix.nf.Lifecycle.run(Lifecycle.java:159)
            at com.bea.netuix.servlets.manager.UIServlet.runLifecycle(UIServlet.java:465)
            at com.bea.netuix.servlets.manager.UIServlet.doPost(UIServlet.java:291)
            at com.bea.netuix.servlets.manager.UIServlet.service(UIServlet.java:219)
            at com.bea.netuix.servlets.manager.SingleFileServlet.service(SingleFileServlet.java:275)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
            at com.bea.console.utils.MBeanUtilsInitSingleFileServlet.service(MBeanUtilsInitSingleFileServlet.java:64)
            at weblogic.servlet.AsyncInitServlet.service(AsyncInitServlet.java:125)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
            at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
            at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
            at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)
    Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=web-fragment@http://xmlns.jcp.org/xml/ns/javaee
            at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:371)
            at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:326)
            at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:336)
            at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:317)
            at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:168)
            at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:67)
            at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:150)
            ... 133 more
    .&gt;
    &lt;Jan 29, 2016 11:41:04 AM GMT&gt; &lt;Error&gt; &lt;J2EE&gt; &lt;BEA-160228&gt; &lt;AppMerge failed to merge your application. If you are running AppMerge on the command-line
    , merge again with the -verbose option for more details. See the error message(s) below.&gt;
</code></pre>

<p><strong>Update</strong></p>

<p>Many many thanks @M.Deinum for the comment. After your suggestion that error has gone now a new error as below. Any idea where to add weblogic.xml in the folder structure so that it would get added to WEB-INF/weblogic.xml.</p>

<pre><code>    Caused by: java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or
the competing implementation (class org.slf4j.impl.JDK14LoggerFactory loaded from file:/C:/Oracle/Middleware2/Oracle_Home/wlserver/modules/features/we
blogic.server.merged.jar). If you are using WebLogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml Object of
 class [org.slf4j.impl.JDK14LoggerFactory] must be an instance of class ch.qos.logback.classic.LoggerContext
</code></pre>