服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - environments was not found on the java.library.path 问题的解决方法

environments was not found on the java.library.path 问题的解决方法

2021-11-05 19:23Tomcat教程网 Tomcat

The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path 问题的解决方法,需要的朋友可以参考下

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。

下载地址:

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

1、

environments was not found on the java.library.path 问题的解决方法

2.

environments was not found on the java.library.path 问题的解决方法

3.

environments was not found on the java.library.path 问题的解决方法

4.

environments was not found on the java.library.path 问题的解决方法

解决方法二、

这是一个apr的问题,因为tomcat需要依赖apr来优化性能,就需要安装apr

1、首先安装apr,采用源码安装的方式,默认安装在:/usr/local/apr

wget http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure
make
make install

2、接下来安装tomcat-native,这个gz包在tomcat的bin目录下面已经存在了,直接解压tomcat-native;

进入目录:cd   tomcat-native-1.2.7-src/native,然后编译安装:

./configure --with-apr=/usr/local/apr  --with-java-home="/usr/lib/jvm/java-1.7.0" --with-ssl=yes

如果下载的tomcat版本较新的话,编译安装会出现openssl版本不一致的问题,无法安装,如下错误:

checking openssl library version >= 1.0.2... configure: error: your version of openssl is not compatible with this version of tcnative

这事就需要下载一个版本低一点的tomcat-native包:

wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.34/source/tomcat-native-1.1.34-src.tar.gz

上面的gz包下载下来之后,放到tomcat的bin目录下去,解压,进入目录:cd  tomcat-native-1.1.20-src/jni/native,再编译安装

3、编译安装成功之后,在tomcat的bin目录下,新建一个名为setenv.sh的文件

新建文件中加入内容:

ld_library_path=$ld_library_path:$catalina_home/lib
         export ld_library_path
4、经过上述三步,第一个问退可以解决;

延伸 · 阅读

精彩推荐
  • Tomcat如何查看tomcat的控制台输出的方法

    如何查看tomcat的控制台输出的方法

    这篇文章主要介绍了如何查看tomcat的控制台输出的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    CaiCaiNeo11972021-08-29
  • Tomcat浅谈Tomcat多层容器的设计

    浅谈Tomcat多层容器的设计

    Tomcat的容器用来装载Servlet。那Tomcat的Servlet容器是如何设计的呢,本文就详细的来介绍一下,具有一定的参考价值,感兴趣的可以了解一下...

    JavaEdge.9612021-09-26
  • TomcatTomcat服务器搭建教程

    Tomcat服务器搭建教程

    这篇文章主要为大家详细介绍了Tomcat服务器搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Watom_66310452021-08-20
  • Tomcat如何将Tomcat设置为自动启动的服务最快捷方法

    如何将Tomcat设置为自动启动的服务最快捷方法

    这篇文章主要介绍了如何将Tomcat设置为自动启动的服务最快捷方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    锋齐叶落5352021-09-03
  • Tomcattomcat 6.0.20在一个机器上安装多个服务的方法

    tomcat 6.0.20在一个机器上安装多个服务的方法

    本文主要为大家介绍tomcat 6.0.20在一个机器上安装多个服务的方法,当前前提是你已经可以同时运行他们了,他们的端口不能相同,这里只是解释如何把它们...

    Tomcat教程网10052021-08-03
  • TomcatTomcat目录结构详解

    Tomcat目录结构详解

    Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,学习tomcat目录结构十分有必要,今天小编给大家带来了详细教程,感兴趣的朋友一起看看吧...

    ThinkWon6712021-09-09
  • TomcatTomcat正常访问localhost报404问题解决

    Tomcat正常访问localhost报404问题解决

    这篇文章主要介绍了Tomcat正常访问localhost报404问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    小明Style5592021-09-23
  • Tomcat学习javaweb如何配置Tomcat的热启动

    学习javaweb如何配置Tomcat的热启动

    学习javaweb的时候每次更改项目都需要重新部署项目,如此一来比较麻烦,使用tomcat的热启动就可以解决这个问题...

    whsnow12072021-08-04