Tomcat 7 does not support JDK 9
> On 30. Mar 2018, at 18:30, Eric Ham <[email protected]> wrote: > > I'm running Tomcat 7 with Oracle JDK 9.0.4 and am attempting to use web > session clustering based on the following pages [1] and [2] as I saw the > 2.4.0 release notes say Java 9 is now supported. I copied the following jars > over for Tomcat to load: > > ignite-core-2.4.0.jar > ignite-log4j-2.4.0.jar > ignite-spring-2.4.0.jar > ignite-web-2.4.0.jar > > However, when I startup Tomcat I get the following error messages (listed > below) in the localhost.2018-03-29.log file. The line with > jdk.internal.misc.SharedSecrets seems related to [3] IGNITE-7352, which says > that it should be fixed in 2.4.0 to support Java 9. > > I'm curious if I missed a step for Java 9 support or if something else is > wrong? > > [1] > https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/startup/servlet/ServletStartup.html > > [2] https://apacheignite-mix.readme.io/docs/web-session-clustering > > [3] https://issues.apache.org/jira/browse/IGNITE-7352 > > Mar 29, 2018 3:23:55 PM org.apache.catalina.core.ApplicationContext log > INFO: No Spring WebApplicationInitializer types detected on classpath > Mar 29, 2018 3:23:56 PM org.apache.catalina.core.ApplicationContext log > SEVERE: StandardWrapper.Throwable > java.lang.ExceptionInInitializerError > at > org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteUtils.java:759) > at > org.apache.ignite.startup.servlet.ServletStartup.init(ServletStartup.java:138) > at javax.servlet.GenericServlet.init(GenericServlet.java:158) > at > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5362) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127) > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) > at java.base/java.lang.Thread.run(Thread.java:844) > Caused by: java.lang.RuntimeException: jdk.internal.misc.JavaNioAccess class > is unavailable. > at > org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObject(GridUnsafe.java:1459) > at > org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsafe.java:118) > ... 19 more > Caused by: java.lang.IllegalAccessException: class > org.apache.ignite.internal.util.GridUnsafe cannot access class > jdk.internal.misc.SharedSecrets (in module java.base) because module > java.base does not export jdk.internal.misc to unnamed module @3cef309d > at > java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361) > at > java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:589) > at java.base/java.lang.reflect.Method.invoke(Method.java:556) > at > org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObject(GridUnsafe.java:1456) > ... 20 more > > Mar 29, 2018 3:23:56 PM org.apache.catalina.core.StandardContext loadOnStartup > SEVERE: Servlet [Ignite] in web application [/base] threw load() exception > java.lang.IllegalAccessException: class > org.apache.ignite.internal.util.GridUnsafe cannot access class > jdk.internal.misc.SharedSecrets (in module java.base) because module > java.base does not export jdk.internal.misc to unnamed module @3cef309d > at > java.base/jdk.internal.reflect.Reflection.newIllegalAccessException(Reflection.java:361) > at > java.base/java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:589) > at java.base/java.lang.reflect.Method.invoke(Method.java:556) > at > org.apache.ignite.internal.util.GridUnsafe.javaNioAccessObject(GridUnsafe.java:1456) > at > org.apache.ignite.internal.util.GridUnsafe.<clinit>(GridUnsafe.java:118) > at > org.apache.ignite.internal.util.IgniteUtils.<clinit>(IgniteUtils.java:759) > at > org.apache.ignite.startup.servlet.ServletStartup.init(ServletStartup.java:138) > at javax.servlet.GenericServlet.init(GenericServlet.java:158) > at > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5362) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) > at > org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127) > at > org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) > at java.base/java.lang.Thread.run(Thread.java:844) > > Mar 29, 2018 3:24:04 PM org.apache.catalina.core.ApplicationContext log > INFO: No Spring WebApplicationInitializer types detected on classpath > Mar 29, 2018 3:24:05 PM org.apache.catalina.core.ApplicationContext log > INFO: Initializing Spring root WebApplicationContext > Mar 29, 2018 3:24:13 PM org.apache.catalina.core.ApplicationContext log > INFO: Initializing Spring FrameworkServlet 'spring' > Mar 29, 2018 3:24:16 PM org.apache.catalina.core.ApplicationContext log > SEVERE: StandardWrapper.Throwable > java.lang.NoClassDefFoundError: Could not initialize class > org.apache.ignite.internal.util.IgniteUtils > at > org.apache.ignite.startup.servlet.ServletStartup.init(ServletStartup.java:138) > at javax.servlet.GenericServlet.init(GenericServlet.java:158) > at > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5362) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1296) > at > org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2038) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) > at java.base/java.lang.Thread.run(Thread.java:844) > > Mar 29, 2018 3:24:16 PM org.apache.catalina.core.StandardContext loadOnStartup > SEVERE: Servlet [Ignite] in web application [/t_test] threw load() exception > java.lang.NoClassDefFoundError: Could not initialize class > org.apache.ignite.internal.util.IgniteUtils > at > org.apache.ignite.startup.servlet.ServletStartup.init(ServletStartup.java:138) > at javax.servlet.GenericServlet.init(GenericServlet.java:158) > at > org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1269) > at > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1182) > at > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1072) > at > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5362) > at > org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5660) > at > org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) > at > org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1296) > at > org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:2038) > at > java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) > at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) > at java.base/java.lang.Thread.run(Thread.java:844)
