>From what I read on the changelog [1] they've been doing updates for Java 9 since at least 7.0.70, with a lot of changes in 7.0.83 and they're now up to 7.0.85.
We've been running Tomcat 7 on JDK9 for over 3 months now with no other issues. [1] http://tomcat.apache.org/tomcat-7.0-doc/changelog.html On Fri, Mar 30, 2018 at 11:52 AM, Jörn Franke <[email protected]> wrote: > 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 > <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) > >
