国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

environments was not found on the java.library.path 問題的解決方法

2024-09-01 13:48:04
字體:
來源:轉載
供稿:網友

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、

java.library.path

2.

java.library.path

3.

java.library.path

4.

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、經過上述三步,第一個問退可以解決;

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澄江县| 榆树市| 汉源县| 鄂托克旗| 麻阳| 天峨县| 肇庆市| 伊宁县| 铜山县| 隆子县| 星子县| 监利县| 栾川县| 深圳市| 和政县| 安多县| 从江县| 孝昌县| 昌邑市| 黄浦区| 精河县| 清镇市| 平和县| 定州市| 华池县| 金山区| 长治县| 吉安县| 建阳市| 昆山市| 栾城县| 商都县| 县级市| 漾濞| 钟山县| 武陟县| 斗六市| 宜州市| 白水县| 古交市| 井陉县|