yanghaos的gravatar头像
yanghaos 2015-01-22 13:52:49

maven项目,正常在main方法中运行正常,为什么一旦部署到tomcat运行时就抛出class not found异常?

如题所述,着急在线等。。。。。

所有回答列表(3)
FanZDM的gravatar头像
FanZDM  LV10 2015年1月22日

Eclipse中Maven项目无法在Tomcat中运行

  1. 出现ClassNotFound异常

  看看异常信息,都是Maven依赖包中的类,项目->属性->Deployment Assembly->Add->Java Build Path Entries-> Maven Dependencies -> Finish ->OK

  再次运行,OK!

  2. 后来在Maven中引入自己开发的工具包(maven的),然后再次运行就出错了,下面逐步贴出错误:

  1) test项目添加自己开发的包后,保存,出现异常

  An internal error occurred during: "Updating status for Tomcat v6.0 Server at localhost...".

  java.lang.NullPointerException

  2) 当时没在意,Eclipse有时也经常弹出某个错误,重启就OK了,原来还以为是个可以忽略的问题,准备运行项目test

  右键 -> Run as -> Run on server

  运行信息一闪而过,启动好了?打开页面访问,一个大大的404。好吧,回到Eclipse,拉大控制台窗口,原来是启动test出现了异常:

  java.lang.IllegalArgumentException: Document base ....\.metadata\.plugins\org.eclipsre\tmp1\wtpwebapps\test does not exist or is not a readable directory

  之前还好好的,是什么问题呢,昨天晚上是纠结了很久,最后定位是在Maven Dependencies上面,删除第一步配置的那个Deployment Assembly的之后报ClassNotFound异常,不过tomcat的运行时目录下面还是可以发现有吧test项目那些文件都发布到运行时目录下,加上第一个配置的后,就会出现上面的异常?

  问题定位:添加自己的工具包前,是可以访问的,那么问题肯定就在这里了,这个不是已经使用maven install添加到maven仓库了么?看到prom.xml的可视化视图

  541x314

评论(0) 最佳答案
wdyat的gravatar头像
wdyat  LV1 2015年1月25日

这个,,,,

dongsir的gravatar头像
dongsir  LV20 2015年1月25日

很有可能是你的某些第三方jar包没有发不到tomcat中,你查看下tomcat中你的项目WEB-INF/lib下是否有你需要的jar包,如果没有在eclipse通过编辑这里配置项目发布到tomcat的信息:

maven项目,正常在main方法中运行正常,为什么一旦部署到tomcat运行时就抛出class not found异常?

备注:你直接运行main函数是在eclipse的环境中,正常说明jar包在eclipse中可以正常被加载到。但是在tomcat的环境中并不一定能够运行成功。请务必区分这两个不同的运行环境,不要混为一谈。

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友