the pagina nativa logo library last biblioteca based eclipse tomcat apr

eclipse - pagina - ¿Qué significa "no se encontró la biblioteca nativa Apache Tomcat basada en APR"?



tomcat linux (9)

A menos que esté ejecutando un servidor de producción, no se preocupe por este mensaje. Esta es una biblioteca que se usa para mejorar el rendimiento (en sistemas de producción). Desde la biblioteca nativa basada en Apache Portable Runtime (APR) para Tomcat :

Tomcat puede utilizar Apache Portable Runtime para proporcionar una escalabilidad superior, rendimiento y una mejor integración con las tecnologías de servidor nativas. Apache Portable Runtime es una biblioteca altamente portátil que está en el corazón del Servidor Apache HTTP 2.x. APR tiene muchos usos, incluido el acceso a la funcionalidad IO avanzada (como sendfile, epoll y OpenSSL), funcionalidad de nivel del sistema operativo (generación de números aleatorios, estado del sistema, etc.) y manejo de procesos nativos (memoria compartida, NT pipes y sockets Unix).

Estoy usando Tomcat 7 en Eclipse en Windows. Al iniciar Tomcat, recibo el siguiente mensaje de información:

La biblioteca APR basada en Apache Tomcat Native que permite un rendimiento óptimo en entornos de producción no se encontró en java.library.path

¿Qué significa esto y cómo puedo proporcionar la biblioteca de APR?


Acabo de revisar esto y lo configuré con lo siguiente:

Ubuntu 16.04

Tomcat 8.5.9

Apache2.4.25

APR 1.5.2

Tomcat-nativo 1.2.10

Java 8

Estos son los pasos que utilicé basados ​​en las publicaciones más antiguas aquí:

Paquete de instalación

sudo apt-get update

sudo apt-get install libtcnative-1

Verifique que estos paquetes estén instalados

sudo apt-get install make

sudo apt-get install gcc

sudo apt-get install openssl

Paquete de instalación

sudo apt-get install libssl-dev

Instalar y compilar 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.tar.gz

cd apr-1.5.2

sudo ./configure

hacer sudo

sudo make install

verificar la instalación

cd / usr / local / apr / lib /

ls

debería ver el archivo compilado como

libapr-1.la

Descargue e instale el paquete de origen nativo Tomcat

cd / opt / tomcat / bin

sudo wget https://archive.apache.org/dist/tomcat/tomcat-connectors/native/1.2.10/source/tomcat-native-1.2.10-src.tar.gz

sudo tar -xzvf tomcat-native-1.2.10-src.tar.gz

cd tomcat-native-1.2.10-src / native

verificar JAVA_HOME

sudo pico ~ / .bashrc

exportar JAVA_HOME = / usr / lib / jvm / java-8-openjdk-amd64

fuente ~ / .bashrc

sudo ./configure --with-apr = / usr / local / apr --with-java-home = $ JAVA_HOME

hacer sudo

sudo make install

Edite el archivo /opt/tomcat/bin/setenv.sh con la siguiente línea:

sudo pico /opt/tomcat/bin/setenv.sh

exportar LD_LIBRARY_PATH = ''$ LD_LIBRARY_PATH: / usr / local / apr / lib''

reiniciar Tomcat

sudo service tomcat restart


En RHEL Linux acaba de emitir:

yum install tomcat-native.x86_64

/ Nota: según su arquitectura, el paquete de 64 bits o de 32 bits puede tener diferentes extensiones /

Eso es todo. Después de eso, encontrará en el siguiente archivo de registro el siguiente mensaje informativo:

INFO: capacidades APR: IPv6 [verdadero], sendfile [verdadero], aceptar filtros [falso], al azar [verdadero].

Todas las operaciones serán notablemente más rápidas que antes.


Instalación de la biblioteca nativa en el servidor Ubuntu con:

sudo apt-get install libtcnative-1

Si eso no funciona, debe instalarse Tomcat-native

  1. Instalar Oracle java7:

    • sudo add-apt-repository ppa: webupd8team / java
    • sudo apt-get update
    • sudo apt-get install oracle-java7-installer
    • sudo apt-get install oracle-java7-set-default
  2. Instalar tomcat apr:

  3. Instalar tomcat tomcat-native:


Si no tiene la biblioteca nativa de Tomcat, instálelo con:

sudo apt-get install libtcnative-1

y si todavía está allí una versión anterior, actualícela con:

sudo apt-get upgrade libtcnative-1


Significa exactamente lo que dice: "La biblioteca nativa Apache Tomcat basada en APR que permite un rendimiento óptimo en entornos de producción no se encontró en java.library.path"

La biblioteca a la que se hace referencia está incluida en una dll específica del sistema operativo (tcnative-1.dll) cargada a través de JNI. Permite a tomcat utilizar funcionalidades de SO no provistas en Java Runtime (como sendfile, epoll, OpenSSL, estado del sistema, etc.). Tomcat funcionará perfectamente sin él, pero para algunos casos de uso, será más rápido con las bibliotecas nativas.

Si realmente lo desea, descargue el tcnative-1.dll (o libtcnative.so para Linux) y libtcnative.so en la carpeta bin, y agregue una propiedad del sistema a la configuración de inicio del servidor tomcat en eclipse.

-Djava.library.path=c:/dev/tomcat/bin


Tenía este problema también. Si tiene las bibliotecas, pero todavía tiene este error, puede ser un error de configuración. Su server.xml puede estar perdiendo la siguiente línea:

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

(Alternativamente, puede ser comentado). Este <Listener> , como otros oyentes, es hijo del <Server> nivel superior.

Sin la línea <Listener> , no hay ningún intento de cargar la biblioteca APR, por lo que se ignoran las configuraciones LD_LIBRARY_PATH y -Djava.library.path= .


Tuve el mismo problema cuando Tomás no pudo encontrar la clase. Intenta ver otros archivos de registro. En ocasiones, no aparece ningún error de definición de clase en diferentes archivos de registro:

  • tomcat8-stdout
  • tomcat8-stderr
  • localhost

en debian 8 Lo soluciono instalando libapr1-dev :

apt-get install libtcnative-1 libapr1-dev