Tomcat启动问题汇总

问题一:
三月 01, 2016 4:35:20 下午 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(E:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\infosys\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
原因分析
造成这种情况的原因很可能是以下两种情况:
一、项目的WEB-INF/lib下有servlet-api.jar,与Tomcat自带的servlet-api.jar冲突了。
二、项目的WEB-INF/lib下有包含javax.servlet包的其他JAR包(如WebLogic 8.1的weblogic.jar),造成与Tomcat自带的servlet-api.jar的冲突。 
因为Tomcat的WebappClassLoader加载JAR包时会进行校验,一旦发现上述冲突就会报出上面的异常。
解决方案:
一、针对第一种情况,不要将servlet-api.jar放到WEB-INF/lib下,因为项目部署时根本不需要这个jar包,Tomcat已经提供了。当然如果工程不导入此jar包,代码可能会报错,你可以通过Eclipse把jar包导入到工程中即可,打war包时不要包含这个jar包。
二、针对第二种情况,谈谈我的解决办法,在我的项目中由于某种特殊的需求,weblogic.jar是通过自定义的类加载器加载的,而不是由Tomcat的WebappClassLoader加载,所以上述问题也就不存在了。如果您遇到同样的问题,可以借鉴此种方案,只需写一个最简单的类加载器即可。


问题二

三月 01, 2016 4:35:19 下午 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jre7.0.75\bin;C:\Windows\Sun\Java\bin;.....

原因分析:
Tomcat建议使用apache的apr,来更好的运行Tomcat;
解决方案:
http://archive.apache.org/dist/tomcat/tomcat-connectors/native/ 下载与你Tomcat对应版本的 tcnative-1.dll,放到apache-tomcat-7.0.57\bin 目录下面,重启tomcat ;
如果你不清楚版本,你随便下载一个版本,放进目录里面,在重启tomcat 的时候,会有提示你合适的 tcnative-1.dll 版本;



问题三

SetPropertiesRule]{Server/Service/Engine/Host/Context}Setting property 'source' to 'org.eclipse.jst.jee.server:webtest' did not finda matching property.
原因分析:
这是因为我们在eclipse下,通过tomcat部署web工程时,会在tomcat的配置文件server.xml中会自动生成一个关于该web工程的配置信息,类似于下面的东西:
<Context docBase="webtest" path="/webtest"reloadable="true" source="org.eclipse.jst.jee.server:webtest"/>
而默认情况下,server.xml的 Context元素不支持名称为source的属性,所以会发出警告。
解决方案:
关闭tomcat,双击eclipse下tomcat服务器,在出来的Tomcat server at localhost页面中找到server options选项,选中其中的选项”Publish modualcontexts to separat XML files“,ctr+s 保存,启动tomcat。


这样项目的配置信息会被放到conf\Catalina\localhost目录下的单独xml文件中



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值