> This should be unnecessary. The classes in that package should be > included in tomcat-embed-core
Nice - thanks. I was reading and using the catalina code, but after trimming down my code it no longer needs that dependency. Do you think this thread is useful info for any Tomcat-embedded Java 17 migration guide/how-to? I'm happy to tidy it up and contribute if there's an official Tomcat-embedded place for it. > The Java code looks good to me. The calls to > SecurityClassLoad.securityClassLoad() and Service.setParentClassLoader() > may be unnecessary Looks like I can ditch the SecurityClassLoad.securityClassLoad() call, but without the Service.setParentClassLoader() call I get classloading errors, specifically: Dec 23, 2022 1:47:00 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Error configuring application listener of class [org.springframework.web.context.request.RequestContextListener] java.lang.ClassNotFoundException: org.springframework.web.context.request.RequestContextListener at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1412) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:534) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:515) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:149) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4687) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5222) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1393) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1383) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:430) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:486) Do you think I need to look into that more, or does it make sense that the Service.setParentClassLoader() prevents this? On Thu, Dec 22, 2022 at 9:49 PM Mark Thomas <ma...@apache.org> wrote: > On 21/12/2022 22:37, Tim N wrote: > > This was fixed by adding "--add-opens=java.base/java.lang=ALL-UNNAMED". > Now > > all applications are running, and various other issues have been fixed by > > other "--add-opens" arguments. So these and the last couple of issues are > > related to Java 17 and not the classloader code above. > > > > Can a Tomcat expert comment on the approach and code to customise the > > classpath as per the thread topic - I'll repeat here for clarity: > > Add Dependency: > > > > <dependency> > > <groupId>org.apache.tomcat</groupId> > > <artifactId>tomcat-catalina</artifactId> > > <version>${tomcat.version}</version> > > </dependency> > > This should be unnecessary. The classes in that package should be > included in tomcat-embed-core > > > > Java > > <snip/> > > The Java code looks good to me. The calls to > SecurityClassLoad.securityClassLoad() and Service.setParentClassLoader() > may be unnecessary but I don't think they'll cause any harm. > > Mark > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >