Что означает" APR based Apache Tomcat Native library was not found"?
Я использую Tomcat 7 в Eclipse на Windows. При запуске Tomcat, я получаю следующее информационное сообщение:
Apr на основе Apache Tomcat родной библиотеки, которая позволяет оптимальную производительность в производственных средах не был найден на java.библиотека.путь
Что это значит и как я могу предоставить библиотеку APR?
9 ответов:
это означает именно то, что он говорит: "APR на основе Apache Tomcat родной библиотеки, которая позволяет оптимальную производительность в производственных средах не был найден на java.библиотека.путь"
библиотека, на которую ссылаются, входит в библиотеку dll для конкретной ОС (tcnative-1.dll) загружается через JNI. Это позволяет tomcat использовать функциональные возможности ОС, не предусмотренные в Java Runtime (например, sendfile, epoll, OpenSSL, System status и т. д.). Tomcat будет работать просто отлично без него, но для некоторых случаев использования он будет будьте быстрее с родными библиотеками.
Если вы действительно хотите это, скачать
tcnative-1.dll
(илиlibtcnative.so
для Linux) и поместите его в папку bin и добавьте системное свойство в конфигурацию запуска сервера tomcat в eclipse.-Djava.library.path=c:\dev\tomcat\bin
Если вы не используете рабочий сервер, не беспокойтесь об этом сообщении. Это библиотека, которая используется для повышения производительности (производственных систем). От Apache Portable Runtime (APR) на основе родной библиотеки для Tomcat:
Tomcat может использовать Apache Portable Runtime для обеспечения превосходства масштабируемость, производительность и лучшая интеграция с собственным сервером технологии. Apache Portable Runtime - это очень портативная библиотека то есть в сердце Apache HTTP Server 2.x. APR имеет много применений, в том числе доступ к расширенной функциональности ввода-вывода (например, sendfile, epoll и OpenSSL), функциональность уровня ОС (генерация случайных чисел, система состояние, etc), и родной обрабатывать процесса (общая память, трубы NT и сокет UNIX.)
на RHEL Linux просто вопрос:
yum установить tomcat-родной.архитектуру x86_64
/Примечание:В зависимости от вашей архитектуры 64-битный или 32-битный пакет может иметь разное расширение/
вот и все. После этого вы найдете в лог-файле следующее информационное сообщение:
информация: возможности апреля: протокол IPv6 [истинного] функция sendfile [правда], принимаем фильтров [ложного], случайным образом [истинное].
все операции будут заметно быстрее, чем до.
установка родной библиотеки на Ubuntu server с помощью:
sudo apt-get install libtcnative-1
Если это не работает tomcat-native должен быть установлен
установить Oracle java7:
- sudo add-apt-repository ppa:webupd8team / java
- sudo apt-получить обновление
- sudo apt-get install oracle-java7-installer
- sudo apt-get install oracle-java7-set-default
установить котяра апреля:
- wget http://apache.mirror.anlx.net//apr/apr-1.5.0.tar.gz
- tar zxvf apr-1.5.0.смола.ГЗ
- rm apr-1.5.0.смола.ГЗ
- cd apr-1.5.0
- судо ./настроить
- sudo make
- sudo make install
- экспорт LD_LIBRARY_PATH= '$LD_LIBRARY_PATH: / usr / local/apr / lib'
установить tomcat котяра-уроженца:
- wget http://mirrors.ukfast.co.uk/sites/ftp.apache.org//tomcat/tomcat-connectors/native/1.1.29/source/tomcat-native-1.1.29-src.tar.gz
- tar zxvf tomcat-native-1.1.29-src.смола.ГЗ
- rm tomcat-native-1.1.29-src.смола.ГЗ
- cd tomcat-native-1.1.29-src/jni / native
- JAVA_HOME= / usr / lib/jvm / java-7-oracle
- судо ./configure --with-apr= / usr / local/apr --с-java-home=$JAVA_HOME
- sudo make
- sudo make install
Я просто прошел через это и настроил его следующим образом:
Ubuntu 16.04
Tomcat 8.5.9
Apache2.4. 25
APR 1.5.2
Tomcat-native 1.2.10
Java 8
вот шаги, которые я использовал на основе старых сообщений здесь:
установить пакет
sudo apt-получить обновление
sudo apt-get install libtcnative-1
проверьте эти пакеты установлен
sudo apt-get install make
sudo apt-get install gcc
sudo apt-get install openssl
установить пакет
sudo apt-get install libssl-dev
установка и компиляция Apache APR
cd / opt / tomcat / bin
sudo wget http://apache.mirror.anlx.net//apr/apr-1.5.2.tar.gz
sudo tar-xzvf apr-1.5.2.смола.ГЗ
компакт-диск апреля-1.5.2
судо ./настроить
sudo make
sudo make install
проверка установки
cd / usr / local/apr/lib/
ls
вы должны увидеть скомпилированный файл как
libapr-1.Ла
Загрузите и установите Tomcat Native source package
cd / opt / tomcat / bin
sudo tar-xzvf tomcat-native-1.2.10-src.смола.ГЗ
cd tomcat-native-1.2.10-src / native
проверка переменной JAVA_HOME
sudo pico ~/.bashrc
экспорт JAVA_HOME= / usr / lib/jvm / java-8-openjdk-amd64
источник ~/.bashrc
судо ./configure --with-apr= / usr / local/apr --с-java-home=$JAVA_HOME
sudo make
sudo make install
редактировать /opt/tomcat/bin/setenv.sh файл со следующей строкой:
sudo pico /opt/tomcat/bin/setenv.sh
экспорт LD_LIBRARY_PATH= '$LD_LIBRARY_PATH: / usr / local/apr / lib'
перезапустить tomcat
sudo service Tomcat restart
была эта проблема, а также. Если вы do есть библиотеки, но все еще есть эта ошибка, это может быть ошибка конфигурации. Ваш
server.xml
может отсутствовать следующая строка:<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
(в качестве альтернативы, это может быть прокомментировано). Это
<Listener>
, как и другие слушатели-дитя верхнего уровня<Server>
.без
<Listener>
line, нет никакой попытки загрузить библиотеку APR, так чтоLD_LIBRARY_PATH
и-Djava.library.path=
настройки игнорируются.
в debian 8 я исправляю это с помощью установки
libapr1-dev
:apt-get install libtcnative-1 libapr1-dev