zoukankan      html  css  js  c++  java
  • 解决Eclipse maven servlet-api-2.5.jar jar not loaded问题

    在Eclipse中用maven构建web项目时,如果在pom里写了servlet-api和jsp-api的依赖的话,即使scope为"provided",但在布署到tomcat时,启动tomcat服务器时会看到有一条警告信息:

    servlet-api-2.5.jar jar not loaded


    这是因为在布署时,eclipse把maven的所有依赖库(包括servlet-api和jsp-api)都布署到tomcat的WEB-INF/lib下了,网上也有人提过说这不会有什么问题,只是个警告,但我的情况是,在Tomcat6启动服务器没有问题,但在浏览器访问该Web应用时会出现NullPointer Exception:

    exception

    org.apache.jasper.JasperException: java.lang.NullPointerException
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:538)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
    

     

    root cause

    java.lang.NullPointerException
    	org.apache.jsp.index_jsp._jspInit(index_jsp.java:22)
    	org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
    	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:164)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:340)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

    这显然不是我代码造成的,而是因为Tomcat主目录下的lib下本来就已经有servlet-api.jar和jsp-api.jar这两个库了,但是我的Web应用下的WEB-INF/lib下同样也包含这两个jar包,于是产生了冲突,解决方法也很简单,只要在布署完应用后,把WEB-INF/lib下的servlet-api.jar和jsp-api.jar删除就OK了,但是这样的话每次在热布署时都要手动做一次这样的操作会麻烦,在Google了很长一段时间后终于找到最终解决方案,只需在Eclipse里安装一个插件即可:

    Maven Integration for WTP

    下载地址:http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/


    在Eclipse中用Install Software的方法下载此插件,需注意的是好像这个网址被GWF墙了,一直在calculating,可以在Eclipse中使用代理的方式来安装,一下就好了,关于Eclipse中使用代理请自行百度或Google搜寻之。

    安装完后重启Eclipse,再重新布署,这时进入到布署目录的WEB-INF/lib下,会发现它没有把servlet-api.jar和jsp-api.jar包放上去了,运行项目也没有问题了,至此大功告成!

  • 相关阅读:
    jQuery源码dom ready分析
    jQuery的deferred对象详解(二)
    jQuery的deferred对象详解(一)
    javascript线程解释(setTimeout,setInterval你不知道的事)---转载
    前端工程精粹(二):静态资源管理与模板框架
    拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限。
    Page.User.Identity.Name获取不到结果
    水晶报表(web)表格信息展示
    Office导入导出组件权限配置汇总
    CSS hack样式兼容模式收藏
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3211890.html
Copyright © 2011-2022 走看看