java.lang.NoClassDefFoundError: javax/el/ExpressionFactory

来源:互联网 发布:数据库 索引 编辑:程序博客网 时间:2024/06/09 19:06
今天把写好的PDA程序放到测试服务器上,让测试人员帮忙测试,结果一起动tomcat窗口直接关闭了,于是去tomcat目录下的server.xml文件中查看,<Context>中docBase的路径是我自己机器上的,不是测试服务上的路径,原来的路径如下:
<Context path="/sypda" docBase="D:\Tomcat 5.0\webapps\sypda" debug="0" reloadable="true">
<ResourceLink name="jdbc/RldmDB" global="RLDMDataSource" type="javax.sql.DataSource" />
</Context>
<Context path="/sypda/servlet/images" docBase="D:\Tomcat 5.0\webapps\sypda\basejtv\images" debug="0" reloadable="true" />
<Context path="/sypda/css" docBase="D:\Tomcat 5.0\webapps\sypda\basejtv\css" debug="0" reloadable="true" />
<Context path="/sypda/script" docBase="D:\Tomcat 5.0\webapps\sypda\basejtv\SCRIPT" debug="0" reloadable="true" />
<Context>中docBase的路径是我本机上的路径
修改后如下:
<Context path="/sypda" docBase="c:\Tomcat 5.0\webapps\sypda" debug="0" reloadable="true">
<ResourceLink name="jdbc/RldmDB" global="RLDMDataSource" type="javax.sql.DataSource" />
</Context>
<Context path="/sypda/servlet/images" docBase="c:\Tomcat 5.0\webapps\sypda\basejtv\images" debug="0" reloadable="true" />
<Context path="/sypda/css" docBase="c:\Tomcat 5.0\webapps\sypda\basejtv\css" debug="0" reloadable="true" />
<Context path="/sypda/script" docBase="c:\Tomcat 5.0\webapps\sypda\basejtv\SCRIPT" debug="0" reloadable="true" />
起动tomcat,打开浏览器输入http://localhost:8088/sypda http status -/sypda/ 404 找不到页面,查看tomcat起动信息发现异常
validataJarFile <C:\Tomcat 5.0\webapps\sypda\WEB-INF\lib\javaee.jar>-jar not loaded . See Servlet Spect 2.3,section 9.7.2 Offending class:
javax/servlet/Servlet.class
严重:Skipped installing application listeners due to previous errors
严重:Error listenerStart
严重:Context startup failed due to previous errors
严重:Error filterStart
于是打开tomcat找到webapps\sypda\WEB-INF\lib\javaee.jar文件,把这个文件剪切出来,起动tomcat,依然不能访问,还是出现404的错误
tomcat起动时的异常信息如下:
严重:Error filterStart
严重:Context startup failed due to previous errors
找不到是哪里的原因了,只能查询tomcat目录下logs文件下的日志信息,发现异常
java.lang.NoClassDefFoundError: javax/el/ExpressionFactory
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
Caused by: java.lang.ClassNotFoundException: javax.el.ExpressionFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
感觉有点头绪了,把javaee.jar包放在tomcat中的common\lib目录下,起动tomcat,访问PDA程序,问题解决.
原创粉丝点击