原创Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

Posted 尚观云科技

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原创Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题相关的知识,希望对你有一定的参考价值。


Eclipse 通过 Maven 建立 SSM 框架项目(web项目)时,默认的web.xml文件版本为 2.3,jre版本为 1.5;在修改其版本遇到了各种问题 。
例如:
web.xmlismissingand <failOnMissingWebXml> is set to true
JavaServer Faces 2.2 can not be installed : One or more constraints have not been satisfied.
JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer
等问题
查找方法时,配置顺序的错误,也是引发问题的原因。修改 jre和web.xml 版本,要处理好各版本之间的关系,比如 web3.0 的需要 Java 1.6 以上,JavaServer Faces 需要 web 版本 2.5 以上等等;了解规则,就可以很好的解决问题。

 
下面是总结的一个方法,有创建的整个流程。


另外:一种可行的方法是通过修改项目目录下.settings/org.eclipse.wst.common.project.facet.core.xml文件中 web 和 Java 版本的方法。下面的方法不需要修改这个文件,更加简便。

Eclipse版本是:


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


Maven版本是:


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


1.新建一个Maven Project
【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

选择Maven Project


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


选择Next


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


选择maven-archetype-webapp


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


Group Id是项目组织唯一的标识符,实际对应 Java 的包的结构,是 main 目录里 java 的目录结构。 

Artifact Id就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。 


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


新建的Maven项目结构为:


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

注意红框的结构,只有一个 src/main/resources,而且项目报下面的 HttpServlet 错误


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


注意在这里可以有两种方式处理该问题。

项目右击 Properties 选择Java Build Path 选择 Add Library添加 Server Runtime 选择 Apache Tomcat7 服务器(Tomcat8 需要 web版本3.1)【如果这种方式:HttpServlet 错误解决,项目结构也有变化,自动补全src/main/java和src/test/java目录

1)】

2)在项目的pom.xml中添加servlet API相关依赖

第一种为传统方式,比较简单,这里我们选择第二种方式


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题



HttpServlet 错误解决,我们需要手动补全src/main/java和src/test/java和src/test/resources目录


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

此刻 maven 项目的 web.xml 版本为2.3,jre 版本为1.5,需要升级。

2.修改项目 jre版本和 web.xml 版本
【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

2.1修改 jre 版本

修改 jre 版本,不能在Java Bulid Path中修改,一旦项目 update project又会回到 1.5 的版本,可以在pom.xml 文件中声明

pom.xml


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


项目右击选择Maven Update Project项目的Java Build Path为:


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

2.2修改web.xml文件版本

这是默认生成的web.xml,可以看到是2.3版本的。

web.xml


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


项目右击Properties 选择Project Facets(项目模板),如下图,可以看到Dynamic Web Module版本为 2.3


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


直接更改为3.0?,但是并不能更改


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


这里可以先把Dynamic Web Module勾选去掉,之后Apply。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


再接着勾选Dynamic Web Module,注意下方出现Further configuration available...选项;接着更改为想要的版本 3.0,点击Further configuration available...


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


之后,修改 Content director为src/main/webapp,勾选Generate web.xml deployment descriptorOK,保存退出Project Facets


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


之后修改src/main/webapp/WEB-INF/web.xml文件,头信息版本修改为 3.0 版本的。

web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"></web-app>

之后,项目右击选择Maven Update Project。

项目结构为:


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


最后删除发布时test相关文件。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


3.将项目发布到jetty插件中
【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

打开网站http://mvnrepository.com/

在搜索栏中查询jetty-maven-plugin,并选择最新版本。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


得到jetty插件的坐标,将其复制到pom.xml文件中


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


在helloworld项目右键==>Run As==>Maven build...


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


控制台输出信息。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


打开浏览器。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

证明jetty插件已经安装成功。

如果在打包阶段就运行jetty插件如何配置?

在pom.xml中如下配置。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


在helloworld项目右键==>Run As==>Maven build...,使用clean package就可以启动jetty服务。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


打开浏览器。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

在打包阶段就运行jetty插件。


4.将项目发布到tomcat插件中
【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

进入到apache官方网站:http://tomcat.apache.org/

选择Maven Plugin


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


打开并复制选中部分


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

将其复制到pom.xml文件中


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


为了防止端口号冲突,我们对tomcat插件做了如下自定义配置。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


在helloworld项目右键==>Run As==>Maven build...,使用clean package就可以启动tomcat服务。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题


打开浏览器。


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

在打包阶段就运行tomcat插件。


直奔高薪,不走弯路!

沈阳尚观以下课程火热招生中,

云计算、Oracle数据库、 java开发、Python开发、IOT智能应用开发。

详情咨询QQ:2923605081

错过互联网,您错过的不是一次机会,错过的是一个时代!


【原创】Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

点击“阅读全文”,查看详情

以上是关于原创Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题

maven-web项目刚创建报错:Description Resource Path Location Type JavaServer Faces 2.2 can not be installed :

Eclipse Maven项目报"Unknown"错误的解决

Eclipse Maven项目报"Unknown"错误的解决

如何使用eclipse创建Maven工程及其子模块

eclipse中的出现在打包一次后,后面新建的项目都出错了,出现support_v7下面出现红线及解决方法及为什么eclipse中项目继承ActionBarActivity解决方法一样