Linix——部署war包到tomcat但无法加载

本文记录了在Linux系统中遇到的Tomcat无法加载war包导致404错误的问题及其解决方法。首先,通过查看catalina.out日志发现启动使用的是JRE1.6,而项目需要的是1.8。解决方法是在catalina.sh脚本中指定JRE_HOME为1.8。其次,部署war包时遇到监听器启动失败,检查项目日志发现缺少配置文件,将文件拷贝到正确位置。最后,由于el-api-2.2.jar与Tomcat内置jar冲突,删除项目中的该jar包并重启Tomcat,问题得以解决。

碰到问题过程如下

问题1:

tomcat启动良好,localhost:8080访问成功

但是访问扔到tomcat上的项目怎样都是404


解决思路如下:

1. 查找catalina.out,查看启动log

发现项目有被加载

启动./startup.sh时发现调用的jre为1.6!


Using CATALINA_BASE:   /usr/local/tomcat7
Using CATALINA_HOME:   /usr/local/tomcat7
Using CATALINA_TMPDIR: /usr/local/tomcat7/temp
Using JRE_HOME:        /usr/java/jdk1.6.0_25/jre
Using CLASSPATH:       /usr/local/tomcat7/bin/bootstrap.jar:/usr/local/tomcat7/bin/tomcat-juli.jar

项目需要的jdk是1.8并且Linux上也已经安装良好

命令java -version显示如下


java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)


而此时系统设置的环境变量 /etc/profile 也已经华丽的设置了

export JRE_HOME=/usr/java/jdk1.8.0_111/jre


则解决方法是:

tomcat启动调用的./startup.sh打开细看会发现它其实调用的是catalina.sh

那么直接粗暴的在catalina.sh第一行粗暴的添加命令

export JRE_HOME=/usr/java/jdk1.8.0_111/jre

保存退出即可


问题2:

依然是将war包扔到webapps下启动tomcat


catalina.out信息如下:

INFO: Deploying web application archive /usr/local/tomcat7/webapps/Map.war
Feb 08, 2017 1:44:39 AM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Feb 08, 2017 1:44:40 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: One or more listeners failed to start. Full details will be found in the appropriate container log file
Feb 08, 2017 1:44:40 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/Map] startup failed due to previous errors
Feb 08, 2017 1:44:40 AM org.apache.catalina.startup.HostConfig deployWAR

加载了倒霉蛋war包但是错误


则转战项目本身的log,在map_info.log中发现报错,无法找到配置文件

将配置文件拷贝到相应的路径下面,DONE


问题3:

报错信息如下(catalina.out)

Feb 09, 2017 12:23:31 AM org.apache.catalina.loader.WebappClassLoaderBase validateJarFile
INFO: validateJarFile(/usr/local/tomcat7/webapps/*****/WEB-INF/lib/el-api-2.2.jar) - jar not loaded. See Servlet Spec 3.0, section 10.7.2. Offending class: javax/el/Expression.class


解决方案:

应该是el-api-2.2.jar与tomcat7中的lib里jar包冲突,删掉项目中的jar包(/WEB-INF/lib),然后重启tomcat





以上。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值