eclipse项目发布到tomcat后,自带的库和tomcat的库发生冲突

问题描述

eclipse写的web项目,自带servlet-api.jar和jsp-api.jar,发布到tomcat后首先是警告servlet-api.jar没有加载,其次就是出错“SEVERE: Servlet.service() for servlet jsp threw exceptionjava.lang.NullPointerException”搜索后发现tomcat的lib目录自带servlet-api.jar和jsp-api.jar包,而且会优先加载,导致出现提示servlet-api.jar没有加载,而且不能正常显示jsp页面,方法就是从项目里删除这两个包,但是删除后用到servlet的源码会被eclipse提示有错。有什么办法能让tomcat启动时优先加载项目自己的包,而且不要重复加载已经加载过的包? 问题补充:请问楼下两位,我是eclipse建立的ssh项目,如何在发布时不发布这两个包

解决方案

项目中的jar删除或者设置buildpath不引用,然后buildpath中添加libray引用,可以引用server run time的library,指定为tomcat,就可以避免servlet-api以及jsp-api两个jar包的冲突了
解决方案二:
我之前做也遇到了些问题, 我这个方法可以。 可以在eclipse当中添加一个User Library(Window-->Preferences-->Java-->Build Path --> User library) 把jsp-api.jar和servlet-aip.jar 两个jar文件加入进去,一定要把下面system library 打钩, 然后在项目引入这个library编译, 这样再部署的时候就不会把这2个jar文件部署到tomcat了
解决方案三:
context.xml中增加<Loader delegate="true"></Loader>
解决方案四:
1、把eclipse和tomcat改成同意的jdk2、最好用eclipse自带的servers引入tomcat来发布,或者使用tomcat插件3、你那样的问题是配置错误,你在研究下吧。只要用一个相同的版本的tomcat就行
解决方案五:
楼主用maven了吗,maven的话,你的项目依赖servlet-api.jar和jsp-api.jar这2个依赖,但是你的部署环境已经提供了,那么这两个依赖的scope设置为provided即可。或者手动把tomcat的lib下的那2个包,替换成你的那2个包
解决方案六:
你可以将jar放置在项目中,这样项目中就没有报编译错误了。在将jar发布的时候不要发布这两个jar就可以了。这样就可以实现,既不报错,也能在tomcat中正常使用。

时间: 2024-08-17 21:22:06

eclipse项目发布到tomcat后,自带的库和tomcat的库发生冲突的相关文章

eclipse项目导入android studio后运行按钮是灰色的,无法运行起来???

问题描述 eclipse项目导入android studio后运行按钮是灰色的,无法运行起来??? 5C 按照网上的方法把eclipse-中的项目导入-后运行按钮是灰色的-不知道怎么把-运行起来-是不是还有什么错误× 解决方案 关闭eclipse重启一下看看或者将项目关闭重启一下 解决方案二: 有可能不是完整的项目结构, 解决方案三: 推荐你看看这个.http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0110/2294.html

求999999-web项目发布到linux 后访问无限加载

问题描述 web项目发布到linux 后访问无限加载 2016-04-10 14:11:01,602 [http-bio-8090-exec-44] [org.springframework.web.servlet.DispatcherServlet]-[DEBUG] DispatcherServlet with name 'taotao-portal' processing GET request for [/] 2016-04-10 14:11:01,602 [http-bio-8090-e

websphere-webService项目发布在webShpere上,无法访问wsdl

问题描述 webService项目发布在webShpere上,无法访问wsdl 在tomcat上开发的wsbService项目,在tomcat上启动项目正常访问wsdl,打包发布在websphere上之后,访问wsdl出现空白页,且不报出任何错误,找了好久也没有找到解决办法,特来求助大神.

eclipse的web项目发布到tomcat出现问题

问题描述 eclipse的web项目发布到tomcat出现问题 大多数功能都可正常使用 数据库中有多张表都含有type一列 使用select from xxx where type=xxx结果为空对type向使用insert赋值就会出现数据过长或者插入内容变成????? 用eclipse自带浏览器则一切正常 这是什么原因呢 百思不得其解 求高手指点 解决方案 type是关键字,换成别的字段名称吧 解决方案二: 出现????有可能是乱码问题,设置一下编码格式重试一下,

maven的web项目发布(tomcat eclipse spring)

讨论一下项目发布的问题,因为我过去从没有认真发布过项目.做过php的项目,在server上直接用php版本的eclipse进行开发,php的环境是早就配置好的,mysql也是事先安装好,在开发调试的过程中,都是直接使用server上的php+mysql+apache的环境,不存在项目发布的问题:开发好也就相当于部署好了. 但是,眼前这个项目不一样:1.开发环境是虚拟机.生产环境是一台专门的server2.开发环境和运行环境都是java语言环境下,eclipse开发的maven项目,运行在tomc

eclipse配置tomcat后,启动能打开8080的界面,但是就是打不开自己写的jsp

问题描述 eclipse配置tomcat后,启动能打开8080的界面,但是就是打不开自己写的jsp eclipse配置tomcat后,启动能打开8080的界面,但是就是打不开自己写的jsp,以前打开过,今天新加了jsp并且把项目中的jsp的文件夹移动了,发现打不开,然后我又把它移回去,还是没用,之后跟着百度上各种改,现在已经不知道是什么原因了,不过觉得应该不是配置web-xml的问题吧,毕竟上一次打开也没动它十二月 12, 2015 4:20:29 下午 org.apache.catalina.

为什么更改了ssh的配置文件,而启动tomcat后或者重新发布后class文件下的配置文件都没有变?

问题描述 为什么更改了ssh的配置文件,而启动tomcat后或者重新发布后class文件下的配置文件都没有变? 然后就是无限报错.... 解决方案 重新建立一个工程,把内容都复制过来 解决方案二: 把发布的删除掉重新发布,重新编译一次试试 解决方案三: 清理下工程看看,project clean 解决方案四: tomcat项目删除干净,重新引入项目,然后重新发布一下 解决方案五: 删除Tomcat的temp目录下所有文件及文件夹: 删除Tomcat的work目录下所有文件及文件夹: 清理重新发布

java eclipse tomcat-在eclipse中配置好tomcat后,其他项目下的java运行报错

问题描述 在eclipse中配置好tomcat后,其他项目下的java运行报错 tomcat配置成功了,localhost:8080也没有问题,但是java项目下的java文件不能编译通过,用的是tomcat免安装版的6.0 解决方案 这个不一定就是tomcat的问题,也可能是项目的问题,比如说你的项目是java7开发,而现在的tomcat环境用的是jdk6 如果可以最好是把报错信息发出来 解决方案二: 你的tomcat里面以前是不是发布过其他的项目,其他的项目里面有编译错误,而你没把tomca

Eclipse工程发布到tomcat的问题?

问题描述 Eclipse工程发布到tomcat的问题? 用项目的run on server的方式发布工程,选了tomcat后出现available projects和configured projects的列表框,显示的项目名称都是不存在的,不知道tomcat是根据什么来显示项目名称的,而且configured projects里的项目是没法删除的,我把工作区下的.metadata.plugins org.eclipse.wst.server.core.tmp1.wtpwebapps整个都删了还