SpringBoot内置tomcat的APR版本过低解决思路
项目中遇到了这样一个错误:
ERROR 15396 --- [main] o.a.catalina.core.AprLifecycleListener :
An incompatible version [1.1.33] of the APR based Apache Tomcat Native library is installed,
while Tomcat requires version [1.2.14]
截图如下:
错误解释:
从字面意思来看:安装的基于APR的Apache Tomcat Native 库的版本是1.1.33,而Tomcat需要的版本是1.2.14. 意思就是让你将Apache Tomcat Native 升级。
错误原因:(可以略过不看)
错误信息中有两个关键词:
APR 与 Apache Tomcat Native library
什么是APR?
Apache的APR是一个高度可移植的库,是Apache HTTP Server 2.x的核心。提供了卓越的性能,可伸缩性以及与本机服务器技术的更好集成。并且APR有许多的用途,包括访问高级IO功能,操作系统级功能和本机进程处理。
什么是Apache Tomcat Native library?
Apache Tomcat Native Library是与Apache Tomcat一起使用的可选组件,它允许Tomcat使用某些本机资源来提高性能,兼容性等 。其实就是说Apache Tomcat Native Library使Tomcat可以访问Apache Portable Runtime(APR)库。
原因:
知道了以上的知识点后,我们就能很好的理解错误发生原因了。
简单点说就是Apache Tomcat Native Library组件的版本比较低,跟不上你现在使用的APR库了。那么Tomcat访问APR库就可能出现问题了。因为Apache Tomcat Native Library是使Tomcat可以访问APR库的组件。
解决步骤:
- 点击下面链接,下载对应的版本文件,我这里需要的是1.2.14,因此我下载1.2.14即可,下载的内容中有32位和64位,根据自己的操作系统、JDK、Tomcat版本进行选择。
- 链接如下:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/
- 将
tcnative-1.dll
文件复制到JDK的bin目录下(默认放在环境变量配置的JDK下面。如果存在多个JDK,那么项目使用的是哪个JDK,就放到那个JDK下面) - 重启SpringBoot程序即可。
SpringBoot内置tomcat的APR版本过低解决思路相关推荐
- SpringBoot内置tomcat出现APR版本过低解决办法
SpringBoot内置tomcat出现error:An incompatible version [1.1.32] of the APR based Apache Tomcat Native lib ...
- SpringBoot内置tomcat出现error:An incompatible version [1.1.32] of the APR based Apache Tomcat Native lib
SpringBoot内置tomcat出现error:An incompatible version [1.1.32] of the APR based Apache Tomcat Native lib ...
- SpringBoot内置Tomcat浅析
一.SpringBoot框架内置Tomcat,开发非常方便,随着SpringBoot的框架升级,内置Tomcat也更新版本.本文SpringBoot框架版本:2.2.10. 1.如何查看SpringB ...
- 优化之SpringBoot 内置tomcat 调优测试
问题 怎么配置springBoot 内置tomcat,才能使得自己的服务效率更高呢? 基础配置 Spring Boot 能支持的最大并发量主要看其对Tomcat的设置,可以在配置文件中对其进行更改.我 ...
- SpringBoot 内置 Tomcat 线程数优化配置,你学会了吗?
前言 本文解析springboot内置tomcat调优并发线程数的一些参数,并结合源码进行分析 参数 线程池核心线程数 server.tomcat.min-spare-threads:该参数为tomc ...
- SpringBoot内置Tomcat支持多大并发量和连接数
SpringBoot内置Tomcat,再默认设置中,Tomcat的最大线程数是200,最大连接数是10000.支持的并发量是指连接数,200个线程如何处理10000条连接的? Tomcat有两种处理连 ...
- Springboot内置Tomcat配置参数调优
Springboot内置Tomcat配置参数调优,首先,线程数是一个重点,每一次HTTP请求到达Web服务器,Web服务器都会创建一个线程来处理该请求,该参数决定了应用服务同时可以处理多少个HTTP请 ...
- SpringBoot内置Tomcat启动不了的原因
SpringBoot内置Tomcat启动不了的原因: 1.需要加入spring-boot-starter-web依赖 [web中集成了tomcat.dispatcherServlet.xml-] &l ...
- SpringBoot内置tomcat启动原理
前言 不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的 ...
最新文章
- js 编码、解码与asp.net 编码、解码
- matlab 读取excel一列,读取excel中的数据把第一列相同的所有行数据输出成一个excel...
- C8-2 圆的周长和面积 (100/100 分数)
- Java RandomAccessFile close()方法与示例
- linux给文件添加链接,Linux给文件或目录创建软链接或硬链接的方法
- 详解如何在vue项目中引入饿了么elementUI组件
- Spring Security Oauth2 (四) 密码码模式 代码
- oracle表结构迁移麻不麻烦_干货分享 | 手把手教你get数据库迁移的正确姿势
- 判断一个数是否为质数
- 使用计算机音箱进行音乐播放的过程,插卡音箱音乐播放顺序调整及歌单式1
- 阿里Maven仓库不限容量,免费用
- 利用小波分解后,频率计算问题
- GEOTRANS 3.7 用户使用手册 之 坐标参考框架
- MongoDB的使用以及和python的交互
- K8S 三种探针 readinessProbe、livenessProbe和startupProbe
- 这个高仿微信,差点我就信了
- python3.5项目升级3.8问题汇总
- WPS文档设置空格下划线
- 快手裁员30%,大部分年薪超100万!揭露职场真相:思考的深度,决定职场的高度...
- Monitoring(监控)