【MedusaSTears】【UserLibrary正确使用方法】Tomcat报错The requested resource is not available...

【UserLibrary正确使用方法】Tomcat报错The requested resource is not available.且控制台报错java.lang.ClassNotFoundException

同样的问题前景回顾,请参考我另一个帖子:

MMP的死结:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

文章提到: 出现java.lang.ClassNotFoundException的原因是lib导包的问题

                而通过UserLibrary导入的用户库却没有问题

                加载到tomcat里面运行时就出了问题

其实实际上UserLibrary正确的使用方法,不仅仅是"添加构建路径"这么简单

现象描述:

  1.     XP 32位系统
  2.     Eclipse-Mars.2-4.5.2    
  3.     JDK1.8
  4.      自己添加的用户库UserLibrary(包括Struts2,Hibernate,Spring,JSTL,JDBC等)
  5.      Apache Tomcat 8.0.51
  6.      动态 Web 项目 Dynamic Web Project
  7.      导入用户库(项目右键→Build Path→Add Libraries...→User Library→勾选自己的用户库→Finish)
  8.      编写代码的时候,不会报错,编译通过
  9.      运行的时候会误,且大部分如下java.lang.ClassNotFoundException:
    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener  
    java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener  
    严重: Exception starting filter encodingFilter
    java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
    严重: Exception starting filter HiddenHttpMethodFilter
    java.lang.ClassNotFoundException: org.springframework.web.filter.HiddenHttpMethodFilter
  10.  然而,把所需要的jar包,放入"项目\WebContent\WEB-INF\lib"这里面,却可以正常运行,不会报错
  11.  而且,如果在10的前提下运行过一次,然后删除lib里的jar包再导入UserLibrary竟然也能运行通过(这个其实挺诡异)
  12.  再次重启Eclipse后第11步就失效,只能重复第十步

决方法(正确的用户库UserLibrary使用方法)

  1. 创建用户库(Windows→Preferences→Java→BuildPath→User Library→New→输入用户库的名→勾选System library (added to the boot class path)→OK→Add External JARs...→找到你的jar文件选中→打开→导入后点OK
  2. 新建Dynamic Web Project项目
  3. 项目右键→Build Path→Configure Build Path...→在Libraries选项卡下,点Add Libraries...→User Library→勾选自己的用户库→Finish→右下角Apply(还没完,接着看)
  4. 步骤3弄好后参考图片打开Deployment Assembly→右侧点Add→Java Build Path Entries→选择你自己的用户库→Finish→Apply→OK退出属性窗口
  5.  至此所有UserLibrary相关配置都已解决,可以正常运行项目了

鸣谢(参考资料)

    eclipse web项目 user library不能自动copy到项目lib目录

    Eclipse中user library包管理

附上用户库 是否勾选 System library (added to the boot class path) 的区别:

    Eclipse中自定义Library时选中System libraries是如何使用的?

    在eclipse中创建User Library时遇到一个疑问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值