fre*_*dev 92 eclipse tomcat apr
我在Windows上使用Eclipse中的Tomcat 7.启动Tomcat时,我收到以下信息消息:
在java.library.path中找不到基于APR的Apache Tomcat Native库,它可以在生产环境中实现最佳性能
这意味着什么,我如何提供APR库?
Gee*_*nte 107
这正是它所说的:"在java.library.path中找不到基于APR的Apache Tomcat Native库,它可以在生产环境中实现最佳性能"
引用的库捆绑到通过JNI加载的OS特定的dll(tcnative-1.dll)中.它允许tomcat使用Java Runtime中未提供的OS功能(例如sendfile,epoll,OpenSSL,系统状态等).如果没有它,Tomcat将运行得很好,但对于某些用例,使用本机库会更快.
如果你真的想要它,请下载tcnative-1.dll(或libtcnative.so用于Linux)并将其放在bin文件夹中,并在eclipse中将系统属性添加到tomcat服务器的启动配置中.
-Djava.library.path=c:\dev\tomcat\bin
Run Code Online (Sandbox Code Playgroud)
Mat*_*ell 31
除非您正在运行生产服务器,否则不要担心此消息.这是一个用于提高性能的库(在生产系统上).从基于Apache Portable Runtime(APR)的Tomcat本机库:
Tomcat可以使用Apache Portable Runtime提供卓越的可伸缩性,性能以及与本机服务器技术的更好集成.Apache Portable Runtime是一个高度可移植的库,是Apache HTTP Server 2.x的核心.APR有许多用途,包括访问高级IO功能(如sendfile,epoll和OpenSSL),操作系统级功能(随机数生成,系统状态等)和本机进程处理(共享内存,NT管道和Unix套接字).
小智 25
在RHEL Linux上只发出:
yum install tomcat-native.x86_64
Run Code Online (Sandbox Code Playgroud)
/注意:根据您的架构,64位或32位封装可能有不同的扩展名/
就这些.之后您将在日志文件中找到下一条信息性消息:
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Run Code Online (Sandbox Code Playgroud)
所有操作都将比以前快得多.
Ama*_*Bah 21
在Ubuntu服务器上安装本机库:
sudo apt-get install libtcnative-1
Run Code Online (Sandbox Code Playgroud)
如果那不起作用tomcat-native需要安装
安装Oracle java7:
安装tomcat apr:
安装tomcat tomcat-native:
小智 8
我刚刚完成了这个并配置了以下内容:
Ubuntu 16.04
Tomcat 8.5.9
Apache2.4.25
APR 1.5.2
Tomcat-native 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 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服务tomcat重启
在debian 8上,我通过安装进行了修复libapr1-dev:
apt-get install libtcnative-1 libapr1-dev
Run Code Online (Sandbox Code Playgroud)
也有这个问题.如果你这样做有图书馆,但还是有这个错误,它可能是一个配置错误.您server.xml可能遗漏了以下内容:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
Run Code Online (Sandbox Code Playgroud)
(或者,它可能会被注释掉).这<Listener>和其他听众一样,是顶级的孩子<Server>.
没有<Listener>线,没有尝试装入APR库,所以LD_LIBRARY_PATH并-Djava.library.path=设置将被忽略.
在 Mac OS X 上:
$ brew install tomcat-native
==> tomcat-native
In order for tomcat's APR lifecycle listener to find this library, you'll
need to add it to java.library.path. This can be done by adding this line
to $CATALINA_HOME/bin/setenv.sh
CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/opt/tomcat-native/lib"
If $CATALINA_HOME/bin/setenv.sh doesn't exist, create it and make it executable.
Run Code Online (Sandbox Code Playgroud)
然后将其添加到 eclipse 的 tomcat 参数中(双击Server > Open Launch Configuration > Arguments tab > VM arguments)
-Djava.library.path=/usr/local/opt/tomcat-native/lib
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
235521 次 |
| 最近记录: |