信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Myeclipse10\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\bin;
D:\MyJava\apache-tomcat-6.0.44\bin
我的tomcat有时能好好加载,但有时又会出现上面的问题,大多情况下是报上面的错不能加载虽然出现这样的信息不影响程序运行,但是对于比追求完美的我来说,看到was not found就极度不爽,一直在网上找,看了很多文章,不外乎就是tcnative-1.dll出了问题,不能加载进来
配置信息:
电脑平台:window10 64位
我的tomcat是官网下的: apache-tomcat-6.0.44-windows-x86.zip 32位
开发工具: myeclipse10.0 32位
tcnative-1.dll: tomcat自带的1.1.33 32位
分析过程:
1.看到别人说是tcnative-1.dll出了问题,我开始以为是tomcat/bin目录时缺少这个文件,当打开目录时,tomcat的bin目录中是有这个文件的
2.由于看到上面出现问题的路经,一个是myeclipse的路经,一个是tomcat路径,所以我将tcnative-1.dll文件放在了myeclipse的如下目录:
D:\Myeclipse10\Common\binary\com.sun.java.jdk.win32.x86_64_1.6.0.013\bin 但问题依然没有解决
3.看到一篇文章说把tomcat/bin目录下的tcnative-1.dll这个文件复制到Windows/system32这个目录下,然后运行myeclipse发现还是出现同样的问题
4.又看到一篇文章说把tomcat/bin目录下的tcnative-1.dll这个文件复制JDK/bin目录下,当然我这时除了tomcat/bin目录下的,别的都删除了,然后运行还是没有解决问题
还看到文章说其实tcnative-1.dll方哪里都没有问题,只要电脑的环境变量中path路径可以找得到tcnative-1.dll这个文件就可以
其实将tcnative-1.dll放在Windows/system32目录中就是path中,但都是还没有解决
上面的种种方法一直都没有解决,我就在想,是不是我tomcat安装包里的这个文件损坏了,或是版本不对,这时我就去网上下载别的对应32位的tcnative-1.dll来用,结果我替换了很多版本的也没有任何作用
位数也对,目录也对,那还有哪里出错???我试试加载一下X64的看看怎么样,然后去网上下载,结果下载了很多,一看几乎都是32位的,后来找到了一个1.1.30的64位tcnative-1.dll
运行后出现如下信息,说的是加载的是一个比较旧的版本,tomcat 推荐1.1.33的
信息: An older version 1.1.30 of the APR based Apache Tomcat Native library is installed, while Tomcat recommends version greater than 1.1.33
************************************************************
解决办法:
然后去下载了tcnative-1.dll 64位1.1.33的放在了tomcat/bin 这个目录下,运行服务器出现如下信息
信息: Loaded APR based Apache Tomcat Native library 1.1.33 using APR version 1.5.1.
到此时才是完美解决问题
***************************************************************************
1.然后我把tomcat/bin目录下的tcnative-1.dll删除,放在了我上面出现问题 的另一个路径,也就是myeclipse下的路径,也可以完美解决问题
2.把tcnative-1.dll 我又重新放在Windows/system32 和jdk/bin目录下都没能解决此问题
tcnative-1.dll 1.1.32 和1.1.33 64位下载地址
1.1.32和1.1.33的64位tcnative-1.dll-Web服务器工具类资源-优快云下载
这是tcnative 各个版本官网下载地址,兄弟自己去下