情景:
启动spring-boot项目,报错 An incompatible version [1.2.12] of the Apache Tomcat Native library is installed, while Tomcat requires [1.2.14]。
原因:
spring-boot内置tomcat要求的native库版本和本地native库版本不一致,需要升级。
解决办法:
- Windows:
- 方法一:下载安装对应版本native库,文件一般是tcnative-1.dll,把它安装到C:\Windows\System32目录下覆盖原来的tcnative-1.dll。一般百度这个错误搜到的教程都是针对Windows平台的,比较好处理。这个不再赘述,给个教程链接:An incompatible version [1.2.12] of the APR based Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14]
- 方法二:源码编译安装该native库。首先下载所需要的native库源码文件。链接地址为:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.14/source/。
下载/tomcat-native-1.2.14-win32-src.zip。
然后解压后按照官方给定的教程编译安装。官方教程地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.14/source/
- Linux:
- 暂时没有找到Linux下比较方便安装native库的方式,因此只能以源码方式编译安装该native库,不过步骤也不麻烦。
- 参考教程:Linux下Springboot解决
APR based Apache Tomcat Native library
提示 ;官方教程 - 首先下载对应版本native库源码,下载source/tomcat-native-1.2.14-src.tar.gz,解压。
- 执行如下命令:
sudo apt-get autoremove libtcnative-1 #删除安装的库
cd native
./configure —with-apr=/usr/bin/apr-1-config
sudo make
sudo make install
- 重新运行spring-boot项目一般就不再报错误了。
完毕。