After upgrade of TIBCO Spotfire, updating/restarting the Node Manager from Admin console results in "java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException" exception.
INFO 2021-02-11T11:18:36,521-0500 [0aca6b0e-5d21-4516-b231-1e952c2f82a7] nodemanager.control.DeploymentCommandCommunicator: Step 4: Extracting components complete. INFO 2021-02-11T11:18:36,521-0500 [0aca6b0e-5d21-4516-b231-1e952c2f82a7] nodemanager.control.DeployNodeManagerCommandHandler: Saving node manager bundle version (51.1.8924.3473) INFO 2021-02-11T11:18:36,521-0500 [0aca6b0e-5d21-4516-b231-1e952c2f82a7] server.nodemanager.NodeManager: Updating service configuration version to 51.1.8924.3473 INFO 2021-02-11T11:18:37,912-0500 [] server.nodemanager.NodeManager: Node Manager shutting down... INFO 2021-02-11T11:18:37,927-0500 [] server.nodemanager.NodeManager: Node Manager shutting down...
INFO 2021-02-11T11:19:44,423-0500 [] server.config.NodeManagerPropertySource: Defining configuration: technicalVersion: 51.1.8924.3473 INFO 2021-02-11T11:19:44,423-0500 [] server.config.NodeManagerPropertySource: Defining configuration: user-agent.name: NodeManager WARN 2021-02-11T11:19:44,705-0500 [] context.support.XmlWebApplicationContext: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jaxbConverter' defined in class path resource [applicationContext-common.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter]: No default constructor found; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException ERROR 2021-02-11T11:19:44,720-0500 [] web.context.ContextLoader: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jaxbConverter' defined in class path resource [applicationContext-common.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter]: No default constructor found; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1287) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:849) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:400) ~[spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103) [spring-web-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:957) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:922) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:365) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:852) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:278) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.server.Server.start(Server.java:415) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.server.Server.doStart(Server.java:382) [node-manager-remote-jetty.jar:?] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [node-manager-remote-jetty.jar:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1887) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1830) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1758) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1247) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1167) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:509) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1305) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1144) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [node-manager-remote-jetty.jar:?] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:849) [node-manager-remote-jetty.jar:?] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877) [node-manager-remote-jetty.jar:?] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) [node-manager-remote-jetty.jar:?] at com.spotfire.server.nodemanager.remote.JettyBox.main(JettyBox.java:61) [node-manager-remote-jetty.jar:?] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter]: No default constructor found; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:83) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1279) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] ... 64 more Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?] at java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) ~[?:?] at java.lang.Class.getConstructor0(Class.java:3342) ~[?:?] at java.lang.Class.getDeclaredConstructor(Class.java:2553) ~[?:?] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1279) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] ... 64 more Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[?:?] at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?] at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?] at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:?] at java.lang.Class.privateGetDeclaredConstructors(Class.java:3137) ~[?:?] at java.lang.Class.getConstructor0(Class.java:3342) ~[?:?] at java.lang.Class.getDeclaredConstructor(Class.java:2553) ~[?:?] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:78) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1279) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE] ... 64 more INFO 2021-02-12T04:32:56,240-0500 [] server.config.NodeManagerPropertySource: Defining configuration: bootconfig.file: WEB-INF/classes/bootstrap.xml INFO 2021-02-12T04:32:56,256-0500 [] server.config.NodeManagerPropertySource: Defining configuration: buildDate: 2020-07-27
Issue/Introduction
This article will provide information about why the "java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException" error is seen after upgrade of TIBCO Spotfire and how to solve it.
Environment
All
Resolution
The error message described above is seen if the "Spotfire.Dxp.NodeManager.sdn" file deployed is the incorrect, not matching version (for example, an older version of the sdn is still deployed). To resolve, ensure to add correct version package under Deployment area.