title: java.lang.ClassNotFoundException: com.sun.codemodel.CodeWriter with JDK9
body: <pre><code>[WARNING] The POM for org.glassfish.jaxb:jaxb-runtime:jar:2.2.11 is invalid, 
   transitive dependencies (if any) will not be available, enable debug 
   logging for more
   details
  [WARNING] The POM for org.glassfish.jaxb:jaxb-xjc:jar:2.2.11 is invalid, 
  transitive dependencies (if any) will not be available, enable debug logging 
  for more details
  [WARNING] Error injecting: org.jvnet.mjiip.v_2.XJC2Mojo
   java.lang.NoClassDefFoundError: com/sun/codemodel/CodeWriter
      at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
      at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3110)
      at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2314)
      at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
      at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:99)
      at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:658)
      at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:882)
      at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)
      at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)
      at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)
      at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1006)
      at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1038)
      at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1001)
      at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)
      at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
      at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
      at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)
      at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:65)
      at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
      at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176)
      at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)
      at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)
      at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:63)
      at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
      at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)
      at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
      at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)
      at org.eclipse.sisu.inject.Guice4$1.get(Guice4.java:162)
      at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81)
      at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
      at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
      at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:517)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
      at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
      at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
  Caused by: java.lang.ClassNotFoundException: com.sun.codemodel.CodeWriter
      at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
      at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
      at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
      at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
  </code></pre>