Tomcat 启动提示未发现 APR 的解决方法

简介:

Tomcat 启动出现信息如下:

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:XXXX

 

出现原因分析:

Tomcat建议使用apache的apr,来更好的运行Tomcat;

 

----------------------------------------------apache的apr 的介绍 ---------------------------------------------------

APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。

随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。

APR使得平台细节的处理进行下移。对于应用程序而言,它们根本就不需要考虑具体的平台,不管是Unix、Linux还是Window,应用程序执行的接口基本都是统一一致的。因此对于APR而言,可移植性和统一的上层接口是其考虑的一个重点。而APR最早的目的并不是如此,它最早只是希望将Apache中用到的所有代码合并为一个通用的代码库,然而这不是一个正确的策略,因此后来APR改变了其目标。有的时候使用公共代码并不是一件好事,比如如何将一个请求映射到线程或者进程是平台相关的,因此仅仅一个公共的代码库并不能完成这种区分。APR的目标则是希望安全合并所有的能够合并的代码而不需要牺牲性能。

APR的最早的一个目标就是为所有的平台(不是部分)提供一个公共的统一操作函数接口,这是一个非常了不起的目的,当然也是不现实的一个目标。我们不可能支持所有平台的所有特征,因此APR目前只能为大多数平台提供所有的APR特性支持,包括Win32、OS/2、BeOS、Darwin、Linux等等。为了能够实现这个目标,APR开发者必须为那些不能运行于所有平台的特性创建了一系列的特征宏(FEATURE MACROS)以在各个平台之间区分这些特征。这些特征宏定义非常简单,通常用APR_HAS_FEATURE参数设置:

如果某个平台具有这个特性,则该宏必须设置为true,比如Linux和window都具有内存映射文件,同时APR提供了内存映射文件的操作接口,因此在这两个平台上,APR_HAS_MMAP宏必须设置,同时ap_mmap_*函数应该将磁盘文件映射为内存并返回适当的状态码。如果你的操作系统并不支持内存映射,那么APR_HAS_MMAP必须设置为0,而且所有的ap_mmap_*函数也可以不需要定义。第二步就是对于那些在程序中使用了不支持的函数必须提出警告。

 

解决方法:

下载与你Tomcat对应版本的 tcnative-1.dll,放到apache-tomcat-7.0.57\bin 目录下,重启tomcat。

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

如果你不清楚版本,你随便下载一个版本,放进目录里面,在重启tomcat 的时候,会有提示你合适的 tcnative-1.dll 版本。

 

1.

 

2.

3.

4.


本文转自Orson博客园博客,原文链接:http://www.cnblogs.com/java-class/p/4280037.html,如需转载请自行联系原作者

相关文章
|
4月前
|
监控 IDE Java
Tomcat 启动闪退问题解决方法
Tomcat 启动闪退问题解决方法
|
5月前
|
Ubuntu Linux 应用服务中间件
MAC在Linux上上传本地文件压缩包(tomcat)解决方法(炒鸡详细)
MAC在Linux上上传本地文件压缩包(tomcat)解决方法(炒鸡详细)
|
6月前
|
缓存 Java 应用服务中间件
Tomcat 启动闪退问题解决方法
在开发中,当使用 IntelliJ IDEA 遇到 Tomcat 启动后闪退的问题时,不要慌,可以尝试以下方法来解决
|
6月前
|
监控 Java 应用服务中间件
Tomcat 启动闪退问题解决方法
【5月更文挑战第10天】Apache Tomcat启动后闪退可能由内存不足、日志文件过大、配置错误等引起。解决方案包括增加内存分配、设置日志滚动、检查配置。预防措施涉及定期维护、监控日志和使用JMX。配置技巧如调整JVM堆大小、启用NIO。实用工具如VisualVM、JConsole和JMeter助力监控和性能测试。问题可能涉及环境变量、应用程序错误、防火墙、端口冲突、安全性与权限。通过持续监控和优化,确保Tomcat稳定运行。
198 0
|
6月前
|
Java 应用服务中间件
Tomcat启动后快速闪退解决方法
Tomcat启动后快速闪退解决方法
84 0
|
6月前
|
安全 Java 应用服务中间件
Tomcat启动闪退问题解决方法
Tomcat启动闪退问题解决方法
69 0
|
关系型数据库 MySQL 应用服务中间件
tomcat与servlet程序出现乱码的解决方法(已解决)
tomcat与servlet程序出现乱码的解决方法(已解决)
106 0
|
Java 应用服务中间件 Apache
An incompatible version [1.2.7] of the APR based Apache Tomcat Native library is installed
An incompatible version [1.2.7] of the APR based Apache Tomcat Native library is installed
An incompatible version [1.2.7] of the APR based Apache Tomcat Native library is installed
|
6月前
|
应用服务中间件 数据安全/隐私保护
Tomcat【部署 02】Web端403 Access Denied You are not authorized to view this page解决方法(Tomcat 10.2.12 版本)
Tomcat【部署 02】Web端403 Access Denied You are not authorized to view this page解决方法(Tomcat 10.2.12 版本)
657 0
|
12月前
|
应用服务中间件
idea下tomcat运行乱码问题解决方法
idea下tomcat运行乱码问题解决方法