The APR based Apache Tomcat Native library which allows optimal performance in production 问题的解决

信息:
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_*函数也可以不需要定义。第二步就是对于那些在程序中使用了不支持的函数必须提出警告。

解决方法:
http://archive.apache.org/dist/tomcat/tomcat-connectors/native/

下载与你Tomcat对应版本的 tcnative-1.dll,放到apache-tomcat-N(版本号)\bin 目录下面,重启tomcat ;

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

二、

三、

四、

原文地址:http://www.cnblogs.com/java-class/p/4280037.html

时间: 2024-10-27 15:38:40

The APR based Apache Tomcat Native library which allows optimal performance in production 问题的解决的相关文章

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

十二月 14, 2012 7:57:03 下午 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre7\bi

DRP问题集结(三)--- The APR based Apache Tomcat Native library which allows optimal performance in product

             问题一:  Tomcat无法启动,报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory           问题二:[Error]JavaWeb: 严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]           问题三:The APR based Apa

ubuntu 10.4 The APR based Apache Tomcat not found

问题描述 The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/lonso/java/jdk/jre/lib/i386/server:/home/lonso/java/jdk/jre/lib/i386:/home/lonso/java/jdk/jre/..

tomcat-启动Tomcat时出现警告: The APR based Apache...

问题描述 启动Tomcat时出现警告: The APR based Apache... 一月 04, 2016 10:42:32 上午 org.apache.catalina.core.AprLifecycleListener init 警告: The APR based Apache Tomcat Native library failed to load. The error reported was [D:apache-tomcat-7.0.67in cnative-1.dll: Can'

Apache Portable Runtime which allows optimal performance in production environments was not found

一.发现问题 在启动Tomcat5.5的时候发现console中有一句话The Apache Portable Runtime which allows The optimal performance in production environments was not found on the java.library.path.这是个定语从句,翻译为:可以允许在生产环境中有最佳的表现的Apache Portable Runtime没有再java.libary.path中被找到. 二.APR作

Docker自动部署Apache Tomcat

本文讲的是Docker自动部署Apache Tomcat,[编者的话]本文是Docker的入门文章,推荐Java开发者阅读.文章详细介绍了如何用Docker来安装部署Tomcat. 介绍 本文会讲述: 扩展Tomcat的官方Dockerfile 构建新的镜像 从修改过的新镜像启动容器 在容器里部署RESTful的Web服务并测试 Apache Tomcat 使用docker search可以查到最流行的(和官方的)Docker Tomcat容器: $ sudo docker search tom

服务器-eclipse中无法创建动态web项目,报错运行时“Apache Tomcat v7.0”是无效的

问题描述 eclipse中无法创建动态web项目,报错运行时"Apache Tomcat v7.0"是无效的 应该点哪里如何操作解决这个,在线等,谢谢! 解决方案 window-perferences-server-Runtime environment,将邮编的server run environment中的内容移除再重新添加,因为其中有指定tomcat的安装路径,这个tomcat的位置变了,这个要重新设置一下 解决方案二: 楼上说的有道理,不过我是来蹭分升级的,谢谢合作

tomcat异常-Can't load IA 64-bit .dll 如何解决?

问题描述 Can't load IA 64-bit .dll 如何解决? java.lang.UnsatisfiedLinkError: C:WindowsSystem32tcnative-1.dll: Can't load IA 64-bit .dll on a AMD 64-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(

第 47 章 Apache Tomcat

47.1. Tomcat 安装与配置 47.1.1. Tomcat 6 解压安装 chmod +x jdk-6u1-linux-i586.bin ./jdk-6u1-linux-i586.bin 输入"yes"回车 mv jdk1.6.0_01 /usr/local/ ln -s /usr/local/jdk1.6.0_01/ /usr/local/java /etc/profile.d/java.sh 例 47.1. /etc/profile.d/java.sh ##########