jenkins使用tomcat10及以上版本报错处理

在尝试使用Tomcat10及以上版本部署Jenkins时遇到了错误,主要问题是找不到javax.servlet相关的类。错误日志显示多个应用监听器配置失败,如SystemProperties$Listener、WebAppMain和JenkinsHttpSessionListener。为了解决这个问题,可以在Tomcat的conf/context.xml中添加配置:<LoaderjakartaConverter=TOMCAT/>。这可能有助于解决由于JavaEE模块移除导致的类找不到问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jenkins使用tomcat10及以上版本报错处理

22-Mar-2023 10:05:49.541 SEVERE [Catalina-utility-1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [jenkins.util.SystemProperties$Listener]
	java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
		at java.base/java.lang.ClassLoader.defineClass1(Native Method)
		at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
		at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
		at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2293)
		at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:756)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
		at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:479)
		at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:462)
		at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:138)
		at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4370)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:650)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:712)
		at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:939)
		at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1913)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
		at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
		at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:390)
		at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1669)
		at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:269)
		at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
		at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1069)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1268)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1272)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1250)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
		at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
		at java.base/java.lang.Thread.run(Thread.java:833)
	Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1290)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
		... 37 more
22-Mar-2023 10:05:49.542 SEVERE [Catalina-utility-1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [hudson.WebAppMain]
	java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener
		at java.base/java.lang.ClassLoader.defineClass1(Native Method)
		at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
		at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
		at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2293)
		at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:756)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
		at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:479)
		at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:462)
		at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:138)
		at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4370)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:650)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:712)
		at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:939)
		at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1913)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
		at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
		at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:390)
		at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1669)
		at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:269)
		at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
		at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1069)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1268)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1272)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1250)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
		at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
		at java.base/java.lang.Thread.run(Thread.java:833)
	Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1290)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
		... 37 more
22-Mar-2023 10:05:49.543 SEVERE [Catalina-utility-1] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [jenkins.JenkinsHttpSessionListener]
	java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionListener
		at java.base/java.lang.ClassLoader.defineClass1(Native Method)
		at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
		at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:150)
		at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2293)
		at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:756)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
		at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:479)
		at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:462)
		at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:138)
		at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4370)
		at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4875)
		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
		at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:650)
		at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:712)
		at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:939)
		at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1913)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:123)
		at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:740)
		at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:390)
		at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1669)
		at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:269)
		at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
		at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1069)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1268)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1272)
		at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1250)
		at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
		at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
		at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
		at java.base/java.lang.Thread.run(Thread.java:833)
	Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpSessionListener
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1290)
		at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1121)
		... 37 more
22-Mar-2023 10:05:49.543 SEVERE [Catalina-utility-1] org.apache.catalina.core.StandardContext.listenerStart Skipped installing application listeners due to previous error(s)
22-Mar-2023 10:05:55.816 SEVERE [http-nio-8080-exec-23] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class 

解决方案
tomcat/conf/context.xml

添加一段配置

<Context>
    ..........
    <Loader jakartaConverter="TOMCAT" />
</Context>
### Linux 上 Tomcat 部署 WAR 文件时常见错误解决方案 当在 Linux 系统上部署 WAR 文件至 Tomcat 服务器时,可能会遇到多种类型的错误。以下是针对一些常见的部署问题及其解决方法: #### 错误一:无法访问应用 如果将 `Jenkins.war` 复制到 Apache Tomcat 的 "webapps" 文件夹之后仍然无法通过浏览器访问应用程序,则可能是由于 Tomcat 尚未重新启动[^1]。 为了使新的 WAR 文件生效并能够正常工作,在完成文件复制操作后应当重启 Tomcat 服务。可以通过执行如下命令来停止再启动 Tomcat: ```bash cd $CATALINA_HOME/bin ./shutdown.sh ./startup.sh; tail -f ../logs/catalina.out ``` 这组指令会先关闭正在运行的服务实例,随后再次开启它,并实时查看日志输出以便监控启动过程中的任何异常情况[^2]。 #### 错误二:连接超时或拒绝连接 此类问题是网络配置不当引起的可能性较大。确认防火墙设置允许外部请求到达指定端口(默认情况下为8080),并且确保 SELinux 或其他安全模块不会阻止 HTTP 请求被处理。 另外还需检查是否有多个进程试图监听同一端口号造成冲突;可以利用 netstat 工具排查此状况。 #### 错误三:缺少依赖库或插件不兼容 有时即使成功上传了 WAR 包也可能因为缺失必要的 Java 库或是版本差异而导致加载失败。对于这种情况建议仔细阅读 catalina.log 中记录的具体报错信息,针对性地调整项目结构或者升级/降级相关组件直至匹配为止。 例如,若需集成 Apache HTTP Server 和 Tomcat 可能需要用到 mod_jk 连接器,此时应确保已正确放置对应的 `.so` 动态链接库文件于适当位置,比如 `/usr/lib/apache/modules/` 下面[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值