溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決

發(fā)布時(shí)間:2022-05-10 10:36:26 來(lái)源:億速云 閱讀:1428 作者:iii 欄目:大數(shù)據(jù)

今天小編給大家分享一下tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

tomcat 啟動(dòng)出現(xiàn)信息如下:

信息: the apr based apache tomcat native library which allows optimal performance in production environments was not found on the java.library.path:xxxx

出現(xiàn)原因分析:

tomcat建議使用apache的apr,來(lái)更好的運(yùn)行tomcat;

apache的apr 的介紹

apr(apache portable run-time libraries,apache可移植運(yùn)行庫(kù))的目的如其名稱(chēng)一樣,主要為上層的應(yīng)用程序提供一個(gè)可以跨越多操作系統(tǒng)平臺(tái)使用的底層支持接口庫(kù)。在早期 的apache版本中,應(yīng)用程序本身必須能夠處理各種具體操作系統(tǒng)平臺(tái)的細(xì)節(jié),并針對(duì)不同的平臺(tái)調(diào)用不同的處理函數(shù)。

隨著apache的進(jìn)一步開(kāi)發(fā),apache組織決定將這些通用的函數(shù)獨(dú)立出來(lái)并發(fā)展成為一個(gè)新的項(xiàng)目。這樣,apr的開(kāi)發(fā)就從apache中獨(dú)立出來(lái),apache僅僅是使用 apr而已。

apr使得平臺(tái)細(xì)節(jié)的處理進(jìn)行下移。對(duì)于應(yīng)用程序而言,它們根本就不需要考慮具體的平臺(tái),不管是unix、linux還是window,應(yīng)用程序執(zhí)行的接口基本都是統(tǒng)一一致的。因此對(duì)于apr而言,可移植性和統(tǒng)一的上層接口是其考慮的一個(gè)重點(diǎn)。而apr最早的目的并不是如此,它最早只是希望將apache中用到的所有代碼合并為一個(gè)通用的代碼庫(kù),然而這不是一個(gè)正確的策略,因此后來(lái)apr改變了其目標(biāo)。有的時(shí)候使用公共代碼并不是一件好事,比如如何將一個(gè)請(qǐng)求映射到線(xiàn)程或者進(jìn)程是平臺(tái)相關(guān)的,因此僅僅一個(gè)公共的代碼庫(kù)并不能完成這種區(qū)分。apr的目標(biāo)則是希望安全合并所有的能夠合并的代碼而不需要犧牲性能。

apr的最早的一個(gè)目標(biāo)就是為所有的平臺(tái)(不是部分)提供一個(gè)公共的統(tǒng)一操作函數(shù)接口,這是一個(gè)非常了不起的目的,當(dāng)然也是不現(xiàn)實(shí)的一個(gè)目標(biāo)。我們不可能支持所有平臺(tái)的所有特征,因此apr目前只能為大多數(shù)平臺(tái)提供所有的apr特性支持,包括win32、os/2、beos、darwin、linux等等。為了能夠?qū)崿F(xiàn)這個(gè)目標(biāo),apr開(kāi)發(fā)者必須為那些不能運(yùn)行于所有平臺(tái)的特性創(chuàng)建了一系列的特征宏(feature macros)以在各個(gè)平臺(tái)之間區(qū)分這些特征。這些特征宏定義非常簡(jiǎn)單,通常用apr_has_feature參數(shù)設(shè)置:

如果某個(gè)平臺(tái)具有這個(gè)特性,則該宏必須設(shè)置為true,比如linux和window都具有內(nèi)存映射文件,同時(shí)apr提供了內(nèi)存映射文件的操作接口,因此在這兩個(gè)平臺(tái)上,apr_has_mmap宏必須設(shè)置,同時(shí)ap_mmap_*函數(shù)應(yīng)該將磁盤(pán)文件映射為內(nèi)存并返回適當(dāng)?shù)臓顟B(tài)碼。如果你的操作系統(tǒng)并不支持內(nèi)存映射,那么apr_has_mmap必須設(shè)置為0,而且所有的ap_mmap_*函數(shù)也可以不需要定義。第二步就是對(duì)于那些在程序中使用了不支持的函數(shù)必須提出警告。

解決方法一:

下載與你tomcat對(duì)應(yīng)版本的 tcnative-1.dll,放到apache-tomcat-7.0.57\bin 目錄下,重啟tomcat。

如果你不清楚版本,你隨便下載一個(gè)版本,放進(jìn)目錄里面,在重啟tomcat 的時(shí)候,會(huì)有提示你合適的 tcnative-1.dll 版本。

1、

tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決

2.

tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決

3.

tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決

4.

tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決

解決方法二、

這是一個(gè)apr的問(wèn)題,因?yàn)閠omcat需要依賴(lài)apr來(lái)優(yōu)化性能,就需要安裝apr

1、首先安裝apr,采用源碼安裝的方式,默認(rèn)安裝在:/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、接下來(lái)安裝tomcat-native,這個(gè)gz包在tomcat的bin目錄下面已經(jīng)存在了,直接解壓tomcat-native;

進(jìn)入目錄: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版本較新的話(huà),編譯安裝會(huì)出現(xiàn)openssl版本不一致的問(wèn)題,無(wú)法安裝,如下錯(cuò)誤:

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

這事就需要下載一個(gè)版本低一點(diǎn)的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包下載下來(lái)之后,放到tomcat的bin目錄下去,解壓,進(jìn)入目錄:cd  tomcat-native-1.1.20-src/jni/native,再編譯安裝

3、編譯安裝成功之后,在tomcat的bin目錄下,新建一個(gè)名為setenv.sh的文件

新建文件中加入內(nèi)容:

ld_library_path=$ld_library_path:$catalina_home/lib
         export ld_library_path
4、經(jīng)過(guò)上述三步,第一個(gè)問(wèn)退可以解決;

以上就是“tomcat啟動(dòng)報(bào)錯(cuò)environments was not found on the java.library.path怎么解決”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI