欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

CentOS 6.5上的Tomcat启动报错问题解决方法

程序员文章站 2022-05-05 16:57:26
这里有两个错误: 1、第一个错误,apr的问题,错误详情: the apr based apache tomcat native library which allow...

这里有两个错误:

1、第一个错误,apr的问题,错误详情:

the apr based apache tomcat native library which allows optimal performance in production environments was not found on the java.library.path

2、第二个错误,错误详情:

exception in thread "main" java.lang.internalerror
        at sun.security.ec.sunec.initialize(native method)
        at sun.security.ec.sunec.access$000(sunec.java:49)
        at sun.security.ec.sunec$1.run(sunec.java:61)

 
第一个问题的解决方法:

这是一个apr的问题,因为tomcat需要依赖apr来优化性能,就需要安装apr

1、首先安装apr,采用源码安装的方式,默认安装在:/usr/local/apr

复制代码 代码如下:

wget    http://mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure
make
make install

2、接下来安装tomcat-native,这个gz包在tomcat的bin目录下面已经存在了,直接解压tomcat-native;

进入目录:cd   tomcat-native-1.2.7-src/native,然后编译安装:

./configure --with-apr=/usr/local/apr  --with-java-home="/usr/lib/jvm/java-1.7.0" --with-ssl=yes

如果下载的tomcat版本较新的话,编译安装会出现openssl版本不一致的问题,无法安装,如下错误:

checking openssl library version >= 1.0.2... configure: error: your version of openssl is not compatible with this version of tcnative

这事就需要下载一个版本低一点的tomcat-native包:

wget    http://mirrors.hust.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.34/source/tomcat-native-1.1.34-src.tar.gz

上面的gz包下载下来之后,放到tomcat的bin目录下去,解压,进入目录:cd  tomcat-native-1.1.20-src/jni/native,再编译安装

3、编译安装成功之后,在tomcat的bin目录下,新建一个名为setenv.sh的文件

新建文件中加入内容:

ld_library_path=$ld_library_path:$catalina_home/lib
         export ld_library_path
4、经过上述三步,第一个问退可以解决;

第二个问题解决方法:

这是因为jdk的版本而产生的问题,我装的是openjdk,会出现jar包的缺失,导致启动报错,所以这里需要更换为oracle官方给出的jdk

1、去oracle官方下载一个这样的包:jdk-7u79-linux-x64.tar.gz

2、解压之后,移动到/usr/local/java目录下

3、添加环境变量:vim   /etc/profile,文件最后添加下面几行

复制代码 代码如下:

export java_home=/usr/local/java/jdk1.7.0_79   //实际的jdk路径
export classpath=.:$java_home/jre/lib/rt.jar:$java_home/lib/dt.jar:$java_home/lib/tools.jar
export path=$path:$java_home/bin

4、完成上述安装之后,再启动tomcat,发现还会报错:neither the java_home nor the jre_home environment variable is defined

这个问题是因为tomcat没有识别出jdk的环境变量

5、修改tomcat中bin目录的catalina.sh文件,在文件的开头,加入下面代码:

复制代码 代码如下:

export java_home=/usr/local/java/jdk1.7.0_79  ////实际的jdk路径
export jre_home=/usr/local/java/jdk1.7.0_79/jre

最后启动tomcat,日志打印正常,浏览器也能够访问,问题解决

exception in thread "main" java.lang.internalerror
        at sun.security.ec.sunec.initialize(native method)
        at sun.security.ec.sunec.access$000(sunec.java:49)
        at sun.security.ec.sunec$1.run(sunec.java:61)