What happened?
Hi,
I compiled the WAR file for ctakes-web-rest. When running the WAR using tomcat, it kept crashing (full exception below) because it was looking for org/springframework/core/NestedIOException which was not found, I learnt later that this class does not exist in spring version 6.x set in pom.xml but spring.version in the following line is still set to 5.3.20.
|
<spring.version>5.3.20</spring.version> |
I was able to fix it by upgrading it to 6.1.11 although I'm not sure if it is the right course of action. After upgrading the spring version and building the docker image, it is still unable to run because it fails to find the piper file. It seems to be looking for piper files in the home directory of tomcat in docker container but they are not there.
I was able to eventually run the pipeline by manually copying the piper files to the Tomcat home directory but I suspect that is not the correct way. Please help me figure out how it should be done. Any help is greatly appreciated.
P.S I also had to change the docker image to khipu/openjdk17-alpine since the original is no longer available.
Thanks!
Relevant log output (from Tomcat)
java.lang.NoClassDefFoundError: org/springframework/core/NestedIOException
at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:323)
at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311)
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:706)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:672)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:720)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:595)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:537)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:169)
at jakarta.servlet.GenericServlet.init(GenericServlet.java:143)
at jakarta.servlet.http.HttpServlet.init(HttpServlet.java:121)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:837)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:794)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:698)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4172)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4458)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:599)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:571)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:654)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:969)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1911)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:125)
at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:771)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:423)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1629)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:303)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:109)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:385)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:332)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:776)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:772)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:149)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:203)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:874)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164)
at org.apache.catalina.startup.Catalina.start(Catalina.java:757)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.NestedIOException
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1144)
... 56 more
cTAKES.error.log contents
Version
7.0.0
What operating system are you seeing the problem on?
Fedora 44, Docker Image khipu/openjdk17-alpine
Contact Details
No response
What happened?
Hi,
I compiled the WAR file for ctakes-web-rest. When running the WAR using tomcat, it kept crashing (full exception below) because it was looking for org/springframework/core/NestedIOException which was not found, I learnt later that this class does not exist in spring version 6.x set in pom.xml but spring.version in the following line is still set to 5.3.20.
ctakes/ctakes-web-rest/pom.xml
Line 16 in 0ffcc8f
I was able to fix it by upgrading it to 6.1.11 although I'm not sure if it is the right course of action. After upgrading the spring version and building the docker image, it is still unable to run because it fails to find the piper file. It seems to be looking for piper files in the home directory of tomcat in docker container but they are not there.
I was able to eventually run the pipeline by manually copying the piper files to the Tomcat home directory but I suspect that is not the correct way. Please help me figure out how it should be done. Any help is greatly appreciated.
P.S I also had to change the docker image to khipu/openjdk17-alpine since the original is no longer available.
Thanks!
Relevant log output (from Tomcat)
cTAKES.error.log contents
Version
7.0.0
What operating system are you seeing the problem on?
Fedora 44, Docker Image khipu/openjdk17-alpine
Contact Details
No response