今天将Windows7上的tomcat从6更新成7,更新完成后,将eclipse配置的tomcat6改成tomcat7,结果启动的时候报错了,报错内容如下:
六月 22, 2016 2:51:12 下午 org.apache.catalina.core.AprLifecycleListener init
严重: An incompatible version 1.1.29 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.32
其内容就是说:tomcat在安装本地APR库时的版本1.1.29不兼容,最起码得安装1.1.32版的APR库。
网上有很多搜索结果,就是将tcnative-1.dll这个文件放到tomcat目录的bin目录,其实也不一定解决问题。
我是多次测试,发现一个规律,总结一下:
1. 去http://archive.apache.org/dist/tomcat/tomcat-connectors/native/下载一个提示异常版本,一般会比提示的版本高,比如我的eclipse中提示1.1.32版,其实我是到【1.1.34/binaries】目录下载的【tomcat-native-1.1.34-win32-bin.zip】这个文件,我的机器是64位的,不用被名字困惑。解压后得到【bin\x64】目录下的【tcnative-1.dll】文件。对于版本,一般使用更高的,比如要求1.1.32,下载最新的1.1.34,如果有1.1.43,那就最好不要下,一般认前几位相同。不要认为1.1.4比1.1.32版本高,点【.】才是隔开版本好的关键。
2. 将【tcnative-1.dll】文件拷贝到JDK的安装目录bin下。当然,要看你的eclipse配置JRE时的具体目录,我配置的是JDK目录,所以就放到JDK的bin下,如果配置的是JRE的目录,就应该放到JRE目录的bin下。