解决maven生成的web项目下的servlet.jar与tomcat自带servlet.jar冲突的问题

使用maven生成web工程后,编译需要下servlet-api.jar和jsp-api.jar文件。 
pom文件中的写法为:

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>

这种写法在使用mvn targe命令时有效的,但是在eclipse下run on server下,会把依赖的maven dependencies这个library下面的全部jar都加载到tomcat的部署目录下面去。 
个人认为这是eclipse的maven插件的不兼容导致的。

解决这种冲突有两种 
1:把加载后的删掉:打开\apache-tomcat-8.0.23\webapps\项目名称\WEB-INF\lib下的冲突的jar包删掉
2:把server runtime这个library加到build path下面去:项目右键选择 build path,进入C~B~P,点击Libraries选项卡,选择界面右边的Add Libraries,选择server runtime,下一步下一步就OK了,最后保存Apply。
  
个人建议使用第二种方法。

时间: 2024-08-07 17:02:41

解决maven生成的web项目下的servlet.jar与tomcat自带servlet.jar冲突的问题的相关文章

idea中web项目下web根目录名称更改

web项目下web根目录名称是可以更改的 idea中新建java web项目,默认的web根目录名称为web,如下: 右键重命名后,注意Web Resource Directory Path也要跟着更改,如下: idea中新建java maven web项目,默认web根目录名称为webapp,如下: 右键重命名后,注意Web Resource Directory Path也要跟着更改,不再贴图 原文地址:https://www.cnblogs.com/yanguobin/p/11520313.

Web项目下的WebRoot和WebContent

Web项目发布到Tomcat中. 在Eclipse中生成项目是WebContent目录 而在MyEclipse中生成的项目目录名字好像叫做WebRoot,那么如果把MyEclipse的项目导入到Eclipse中,如果要部署项目到Tomcat中需要做什么修改呢.只需如下一部 1.右键点击项目--属性--Add 添加WebRoot目录,删除WebContent

【idea】解决Maven初始化配置web.xml为2.3的问题

根据快捷键Ctrl+shift+alt+s,得到Maven的设置文件夹. 1.添加Web文件夹 一开始没有出现Web选项,需要从1找到Web的选项,添加进来 2.得到Web目录 3.修改Web的源文件夹 根据自己的目录对初始化的文件夹进行修改 4.对原来初始化得到的web.xml文件进行删除 原来的文件,版本默认是2.3 5.增加新的web.xml文件 现在的文件,版本最高可以选定到4.0 注意:此时的文件夹目录仍需要根据自己的项目进行修改 原文地址:https://www.cnblogs.co

web项目下的web.xml listener监听总结

监听域对象中属性的监听器 域对象中属性的变更的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象中的属性变更信息事件的监听器. 这三个监听器接口分别是ServletContextAttributeListener, HttpSessionAttributeListener 和ServletRequestAttributeListener,这三个接口中都定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件,同

解决maven的“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误

需要添加一个插件,在build标签中添加 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source&

解决maven项目中web.xml is missing and &lt;failOnMissingWebXml&gt; is set to true

web.xml is missing and <failOnMissingWebXml> is set to true 是因为项目中没有web.xml文件, 步骤如下: 原文地址:https://www.cnblogs.com/pansin/p/12038473.html

将web项目打成war包部署在tomcat步骤

1.将自己的项目打成war包. 2.将打包好的war复制到${tomcat.home}/webapps项目下. 3.在${tomcat.hom}/conf目录下打开server.xml文件,找到Host节点,在Host节点下添加: <Context docBase="D:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\Products.war" path="/Products" relo

Web服务器(Apache)与Servlet容器(Tomcat)

之前一直比较迷惑Apache与Tomcat的关系,通过查询资料,有所了解,现记录于此. Apache与Tomcat 两者定位:Apache是HTTP Web服务器,Tomcat是Web容器. 有一个非常形象的比喻:Apache是一辆车,可以装载静态的物件(HTML静态网页等):但不能装动态的水(JSP.CGI等),要装水就需要桶(容器),当然桶也可以不放在车上而单独存放,则该容器即为Tomcat. 两者的主要区别: Apache是世界上最流行的Web服务器(其次是微软的IIS),可以处理浏览器的

Web服务器之iis,apache,tomcat三者之间的比较

IIS-Apache-Tomcat的区别 IIS与Tomcat的区别 IIS是微软公司的Web服务器.主要支持ASP语言环境. Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的SJP语言环境容器,严格得说不能算是一个WEB服务器,而是Apache服务适配器. tomcat主要的任务不是WEB服务,而是支持JSP语言环境. IIS就是也款WEB服务器,支持ASP语言环境 Apache与Tomcat的区别 APA