Windows の Eclipse で Tomcat 7 を使用しています。Tomcat を起動すると、次の情報メッセージが表示されます。
本番環境で最適なパフォーマンスを実現する APR ベースの Apache Tomcat ネイティブ ライブラリが、java.library.path に見つかりませんでした。
これはどういう意味ですか? APR ライブラリを提供するにはどうすればよいですか?
「本番環境で最適なパフォーマンスを実現する APR ベースの Apache Tomcat ネイティブ ライブラリが java.library.path に見つかりませんでした」という意味です。
参照されているライブラリは、JNI 経由で読み込まれる OS 固有の dll (tcnative-1.dll) にバンドルされています。これにより、Tomcat は Java ランタイムで提供されていない OS 機能 (sendfile、epoll、OpenSSL、システム ステータスなど) を使用できるようになります。Tomcat はそれがなくても問題なく動作しますが、一部のユース ケースでは、ネイティブ ライブラリを使用した方が高速になります。
本当に必要な場合は、tcnative-1.dll
(またはlibtcnative.so
Linux の場合)をダウンロードして bin フォルダーに配置し、eclipse の tomcat サーバーの起動構成にシステム プロパティを追加します。
-Djava.library.path=c:\dev\tomcat\bin
本番サーバーを実行している場合を除いて、このメッセージについて心配する必要はありません。これは、(実動システムで)パフォーマンスを向上させるために使用されるライブラリーです。Tomcat用のApachePortableRuntime(APR)ベースのネイティブライブラリから:
Tomcatは、Apache Portable Runtimeを使用して、優れたスケーラビリティ、パフォーマンス、およびネイティブサーバーテクノロジとのより良い統合を提供できます。Apache Portable Runtimeは、Apache HTTPServer2.xの中心となる移植性の高いライブラリです。APRには、高度なIO機能(sendfile、epoll、OpenSSLなど)、OSレベルの機能(乱数生成、システムステータスなど)、ネイティブプロセス処理(共有メモリ、NTパイプ、Unixソケット)へのアクセスなど、多くの用途があります。
RHEL Linux では、次のように発行します。
yum install tomcat-native.x86_64
/注: アーキテクチャによっては、64 ビットまたは 32 ビット パッケージの拡張子が異なる場合があります/
それだけです。その後、ログ ファイルに次の情報メッセージが表示されます。
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
すべての操作が以前よりも著しく高速になります。
これを実行して、次のように構成しました。
Ubuntu 16.04
トムキャット 8.5.9
Apache2.4.25
4 月 1.5.2
Tomcat ネイティブ 1.2.10
Java 8
これらは、ここの古い投稿に基づいて使用した手順です。
sudo apt-get update
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
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
sudo make
sudo make install
cd /usr/local/apr/lib/
ls
libapr-1.la
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
sudo pico ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
source ~/.bashrc
sudo ./configure --with-apr=/usr/local/apr --with-java-home=$JAVA_HOME
sudo make
sudo make install
sudo pico /opt/tomcat/bin/setenv.sh
export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:/usr/local/apr/lib'
sudo service tomcat restart
tomсat がクラスを見つけられなかったとき、私は同じ問題を抱えていました。他のログ ファイルを表示してみてください。別のログ ファイルに No class def found エラーが表示されることがあります。