博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2环境下Tomcat启动异常:Exception starting filter struts2,报了一个java.lang.ClassNotFoundException...
阅读量:6894 次
发布时间:2019-06-27

本文共 847 字,大约阅读时间需要 2 分钟。

在写一个struts2+hibernate整合的小例子时,启动Tomcat服务器,报了一个:

严重: Exception starting filter struts2

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

  折腾了半天,终于知道了原因,在搭建struts2的环境时,一般的做法是把jar包拖到WEB-INF下的lib文件中,Tomcat启动时,会到这个目录下加载jar文件,但如果你使用的是User Libraries,那么就在lib下就没有相应的jar文件了,虽然程序编译是没有问题的,但很有可能Tomcat启动时会报这个错,

  原因很简单:eclipse发布项目的时候并未自动将引用的jar包copy到WEB-INF/目录下,导致编译器找不到所使用的class.

百度了半天,找到了三种解决方案,一一试过了,只有两种成功解决了问题

  第一种方法(成功):

    很简单,抛弃使用User Librariy,将所有jar文件放到lib文件目录下,问题解决.但这并不是我想要的.

  第二种方法(失败):

    配置Tomcat的时候,默认选择的是"debug"模式,即调试模式,需要设置成"run"也就是运行模式

步骤为:Windows->preferences->My eclispe->servers->找到你使用的Tomcat->Lauch.

 

      第三种方法(成功):

    手动将User library中的jar包添加到项目发布时自动加载的目录下:

    选中项目,右键选择Properties->Myeclispe->Deployment Assembly->new:

  

选中你之前建好的User library,点击finish:

重新部署项目,启动Tomcat,问题解决!~~~~~

  

 

转载地址:http://mxkdl.baihongyu.com/

你可能感兴趣的文章
分布式设计与开发(二)------几种必须了解的分布式算法
查看>>
JS中typeof与instanceof的区别
查看>>
PHP中str_replace函数使用小结
查看>>
Oracle用户、角色、授权和表空间
查看>>
linux下修改SWAP空间大小
查看>>
我的友情链接
查看>>
mac 安装python3.4、django
查看>>
你想建设一个能承受500万PV/每天的网站吗?如果计算呢?
查看>>
iOS8完美越狱在路上了吗?
查看>>
编写更好的jQuery代码的建议
查看>>
linux 入门基础知识(一)
查看>>
项目质量管理
查看>>
将linux英文系统变成中文系统
查看>>
CXDVA视频组件
查看>>
给自己降降级你会发现一片广阔的天空
查看>>
Linux Apache 编译安装;
查看>>
python2.7x Django mysql在windows Ubuntu下的环境搭建
查看>>
33 一生能有几个?
查看>>
我的友情链接
查看>>
一键安装lnmp报错 pycurl.so: undefined symbol: CRYPTO_set_locking_callback
查看>>