Библиотека Apache Tomcat Native на основе APR... не найдена (но она есть)
Я использую некоторое программное обеспечение и получаю следующую ошибку, касающуюся того, что apr не найден Я увидел, что его там нет, поэтому пошел в папку apr, запустил./configure и./make и./make install
Он создал файлы в /usr/local/apr/lib
Затем я создал папку, упомянутую в журнале Tomcat:
/root/Kony/KonyServer/tomcat/instance1/bin/tomcat-native-1.1.29-src/jni/native/.libs
и скопировал файлы здесь:
-rwxrwxrwx. 1 10848 10848 8351 Apr 13 19:35 apr.exp
-rwxrwxrwx. 1 10848 10848 1352604 Apr 13 19:35 libapr-1.a
-rwxrwxrwx. 1 10848 10848 826 Apr 13 19:35 libapr-1.la
-rwxrwxrwx. 1 10848 10848 736579 Apr 13 19:35 libapr-1.so
-rwxrwxrwx. 1 10848 10848 736579 Apr 13 19:35 libapr-1.so.0
-rwxrwxrwx. 1 10848 10848 736579 Apr 13 19:35 libapr-1.so.0.4.5
Я даже дал им 777 маску, и владелец / группа соответствует родителю. Это все еще дает мне ошибку ниже.
Apr 13, 2015 7:46:42 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /root/Kony/KonyServer/tomcat/instance1/bin/tomcat-native-1.1.29-src/jni/native/.libs
Apr 13, 2015 7:46:43 PM org.apache.catalina.core.StandardService initInternal
SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8085]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8085]]
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
Caused by: org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not available
at org.apache.catalina.connector.Connector.initInternal(Connector.java:972)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
... 12 more
Apr 13, 2015 7:46:43 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8010"]
Apr 13, 2015 7:46:43 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2752 ms
Apr 13, 2015 7:46:44 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Apr 13, 2015 7:46:44 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat 7.0.x-dev
Apr 13, 2015 7:46:44 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor /root/Kony/KonyServer/tomcat/instance1/conf/Catalina/localhost/admin.xml
Кто-нибудь может предложить какую-либо помощь?
2 ответа
У меня была похожая проблема в Debian, и я исправил ее, используя:
apt-get install libtcnative-1
и раскомментирование APRLifecycleListener в server.xml.
В Oracle Linux 7, своего рода клоне RHEL7, мне пришлось скомпилировать библиотеки и скопировать их также в /usr/lib64 ...
См. http://tomcat.apache.org/native-doc/
В принципе:
- установить deps: yum установить apr-devel openssl-devel
- Загрузите и извлеките последний файл с http://tomcat.apache.org/native-doc/
CD, куда вы распаковали файл
./configure --with-apr = $ HOME / APR --with-java-home = $ JAVA_HOME --with-ssl = $ HOME / OPENSSL --prefix = $ CATALINA_HOME
make && make install
cp -v /usr/share/tomcat/lib/libtcnative-1.* / lib64 /
systemctl перезапустить Tomcat
СДЕЛАННЫЙ!! Все, что мне нужно было сделать, это добавить сертификаты в запись в server.xml