An incompatible version 1.1.1 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.17

【问题现象】:

启动Tomcat时报如下类似错误信息:

An incompatible version 1.1.12 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.30

【原因分析】:

这是由于Apache Tomcat Native library 就是APR(Apache Portable Runtime),这里的意思是建议使用apache的apr,同时要保证APR版本一致。由提示可以看出当前版本是1.1.30,但是本机是1.1.12,所以需要下载对应的版本。

【解决方法】:

下载对应的APR文件放到Windows\System32下,或者Tomcat的bin目录下边或者是JDK的bin目录下边,其实这里边放到哪里都可以,前提是这个目录在系统的环境变量里面。而APR下载地址是:

地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/

举例:http://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.1.17/binaries/win32/目录下的 tcnative-1.dll 文件,将其放到环境变量中即可。

【注意事项】:

有的时候你下载完成,也放到相应目录,但是还是依然报错,那么有几点可能:

1.放置的目录没有在环境变量里面。这个就要确认你放置的目录确实是在环境变量中,否则不会生效。

2.有旧的版本没有清除。windows 喜欢在 system32 下某个隐藏的目录下复制一份 dll 的副本(具体哪个 dll 会复制到这里我也不确定,你得手工检查一次,Windows\System32 下搜索一次,把所有同名的删除掉),隐藏的哦,需要在文件夹选项中把它显示出来,把那些缓存的版本也删除干净。

把下面这段文字保存成一个 search.bat:

1
@echo File %1 is found at %~dp$PATH:1

 然后输入命令:

1
2
C:\>search jscript.dll
File jscript.dll is found at C:\WINDOWS\system32\

我们能用它找出来你的 dll 到底是从哪个目录下找到的,每次你删除一个  dll 后再运行一次这个命令检查还有哪个目录下有它。确保在 tomcat\bin 目录之外再也没有了,以后就把你最新的版本放在 tomcat\bin 下就可以了

 

 

 

 

 

posted @ 2016-07-16 14:34  levy_host  阅读(12803)  评论(0编辑  收藏  举报