JAXB APIs are no longer contained on the default class path in Java SE 9 (AKA "cant work in osx 10.13.5")
osx version 10.13.5 jdk version 10.0.1 2018-04-17 log: `2018-07-12 04:35:49.680 INFO 11338 --- [WT-EventQueue-0] o.s.boot.SpringApplication : Starting application on sevenchaideMacBook-Pro.local with PID 11338 (/Users/seven.chai/Downloads/nmapGUI-0.6.1-SNAPSHOT.jar started by seven.chai in /Users/seven.chai/Downloads) 2018-07-12 04:35:49.685 INFO 11338 --- [WT-EventQueue-0] o.s.boot.SpringApplication : No active profile set, falling back to default profiles: default WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (jar:file:/Users/seven.chai/Downloads/nmapGUI-0.6.1-SNAPSHOT.jar!/BOOT-INF/lib/groovy-2.4.10.jar!/) to method java.lang.Object.finalize() WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 2018-07-12 04:35:50.139 INFO 11338 --- [WT-EventQueue-0] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@ec3cb44: startup date [Thu Jul 12 04:35:50 CST 2018]; root of context hierarchy 2018-07-12 04:35:51.084 INFO 11338 --- [WT-EventQueue-0] trationDelegate$BeanPostProcessorChecker : Bean 'NMapGuiApplication' of type [com.uniovi.nmapgui.NMapGuiApplication$$EnhancerBySpringCGLIB$$119d25a2] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2018-07-12 04:35:51.533 INFO 11338 --- [WT-EventQueue-0] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat initialized with port(s): 8080 (http) 2018-07-12 04:35:51.546 INFO 11338 --- [WT-EventQueue-0] o.apache.catalina.core.StandardService : Starting service Tomcat 2018-07-12 04:35:51.548 INFO 11338 --- [WT-EventQueue-0] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.14 2018-07-12 04:35:51.634 INFO 11338 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2018-07-12 04:35:51.635 INFO 11338 --- [ost-startStop-1] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 1502 ms 2018-07-12 04:35:51.791 INFO 11338 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/] 2018-07-12 04:35:51.795 INFO 11338 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'characterEncodingFilter' to: [/] 2018-07-12 04:35:51.795 INFO 11338 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'hiddenHttpMethodFilter' to: [/] 2018-07-12 04:35:51.795 INFO 11338 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'httpPutFormContentFilter' to: [/] 2018-07-12 04:35:51.795 INFO 11338 --- [ost-startStop-1] o.s.b.w.servlet.FilterRegistrationBean : Mapping filter: 'requestContextFilter' to: [/] 2018-07-12 04:35:51.839 WARN 11338 --- [WT-EventQueue-0] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webController' defined in URL [jar:file:/Users/seven.chai/Downloads/nmapGUI-0.6.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/uniovi/nmapgui/WebController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.uniovi.nmapgui.WebController]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 2018-07-12 04:35:51.841 INFO 11338 --- [WT-EventQueue-0] o.apache.catalina.core.StandardService : Stopping service Tomcat 2018-07-12 04:35:51.857 INFO 11338 --- [WT-EventQueue-0] utoConfigurationReportLoggingInitializer :
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 2018-07-12 04:35:51.868 ERROR 11338 --- [WT-EventQueue-0] o.s.boot.SpringApplication : Application startup failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webController' defined in URL [jar:file:/Users/seven.chai/Downloads/nmapGUI-0.6.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/uniovi/nmapgui/WebController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.uniovi.nmapgui.WebController]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1155) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1099) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866) ~[spring-context-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) ~[spring-context-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.3.RELEASE.jar!/:1.5.3.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737) [spring-boot-1.5.3.RELEASE.jar!/:1.5.3.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370) [spring-boot-1.5.3.RELEASE.jar!/:1.5.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314) [spring-boot-1.5.3.RELEASE.jar!/:1.5.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162) [spring-boot-1.5.3.RELEASE.jar!/:1.5.3.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151) [spring-boot-1.5.3.RELEASE.jar!/:1.5.3.RELEASE]
at com.uniovi.nmapgui.NMapGuiApplication.mainExec(NMapGuiApplication.java:16) [classes!/:0.6.1-SNAPSHOT]
at com.uniovi.nmapgui.NMapLoaderWindow$2.actionPerformed(NMapLoaderWindow.java:122) [classes!/:0.6.1-SNAPSHOT]
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) [na:na]
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) [na:na]
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) [na:na]
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) [na:na]
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270) [na:na]
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6589) [na:na]
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342) [na:na]
at java.desktop/java.awt.Component.processEvent(Component.java:6354) [na:na]
at java.desktop/java.awt.Container.processEvent(Container.java:2261) [na:na]
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966) [na:na]
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319) [na:na]
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) [na:na]
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4914) [na:na]
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4543) [na:na]
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4484) [na:na]
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2305) [na:na]
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772) [na:na]
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798) [na:na]
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772) [na:na]
at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) [na:na]
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) [na:na]
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) [na:na]
at java.base/java.security.AccessController.doPrivileged(Native Method) [na:na]
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) [na:na]
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) [na:na]
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745) [na:na]
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743) [na:na]
at java.base/java.security.AccessController.doPrivileged(Native Method) [na:na]
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) [na:na]
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) [na:na]
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) [na:na]
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) [na:na]
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) [na:na]
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) [na:na]
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [na:na]
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) [na:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.uniovi.nmapgui.WebController]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147) ~[spring-beans-4.3.8.RELEASE.jar!/:4.3.8.RELEASE]
... 54 common frames omitted
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at com.uniovi.nmapgui.WebController.
Exception in thread "AWT-EventQueue-0" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'webController' defined in URL [jar:file:/Users/seven.chai/Downloads/nmapGUI-0.6.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/uniovi/nmapgui/WebController.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.uniovi.nmapgui.WebController]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1155)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1099)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
at com.uniovi.nmapgui.NMapGuiApplication.mainExec(NMapGuiApplication.java:16)
at com.uniovi.nmapgui.NMapLoaderWindow$2.actionPerformed(NMapLoaderWindow.java:122)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:270)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6589)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6354)
at java.desktop/java.awt.Container.processEvent(Container.java:2261)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4966)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2319)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4914)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4543)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4484)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2305)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4798)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.uniovi.nmapgui.WebController]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:154)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147)
... 54 more
Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at com.uniovi.nmapgui.WebController.
Merging https://github.com/danicuestasuarez/NMapGUI/issues/21 with this issue because of descriptiveness
The main issue appears to be this: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException.
Per here:
The JAXB APIs are considered to be Java EE APIs, and therefore are no longer contained on the default class path in Java SE 9. In Java 11 they are completely removed from the JDK.
Currently, nmapGUI is using Java 8. Apparently, that's why the exception is thrown. Adding project card to "Add Java EE APIs as Maven dependency".
Thanks for the source, @jhult