本文使用 Eclipse 集成 Maven,并创一个基于 maven的web工程

一 环境版本信息

本文使用的版本信息如下:

Eclipse Version: Mars.1 Release (4.5.1)

Maven Version: Apache maven 3.2.1

Jave Version : 1.7.0_25+

二 创建一个Web项目

1)打开eclipse  选择 File --> New --> Other -->Maven -->Maven Projet

2)选择maven-archetype-webapp

3)填写项目信息

4)生产的Web项目包结构

4.1)把项目转为 Dynamic Web Module,在项目上点击右键,选择属性,然后选择Project facets,然后点击Convert to faceted form...
勾选Dynamic Web Module,选择3.0,表示支持servlet3.0
勾选Java,选择1.7或更高的jdk版本

但是Eclipse会报 "Cannot change version of project facet Dynamic Web Module to 3.0"异常。需要找到工程项目的硬盘目录,打开项目下的 .setting文件夹,如下图:

找到 .setting文件夹内的org.eclipse.wst.common.project.facet.core.xml文件,文件格式大致如下:

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.5"/>
<installed facet="jst.web" version="2.3"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

直接修改jst.web对应的version即可,比如: <installed facet="jst.web" version="3.0"/> ,表示支持 servlet 3.0版本。修改后在进入界面如下图所示:

4.2)工具只生成了一个叫 src/main/resources的source folder,需要手工添加 src/main/java、src/test/java和src/test/resources 三个source folder,在项目上右键 New -->Source Folder,输入folder name即可。但项目会报 The folder is already a source folder的错误。一共需要以下四个目录:

src/main/java
src/main/resources
src/test/java
src/test/resources

注意:在执行此步之前,需要点击项目,右键鼠标选择 Properties --> Java Build Path --> Source 会看到src/main/java已存在,但是Missing。所以只需要创建目录,Source Floder就出现了。

解决方法:是哪一个 Folder报Missing错误就把它删除掉,然后在重新手工添加 ,比如 src/main/java。

4.3)配置部署的程序Deployment Assembly,删掉test的那两项,test的程序发布的时候不需要,添加maven的依赖库,发布的时候可以发布到lib目录中,添加/src/main/webapp为部署的根目录

5)配置tomcat8,发布运行项目

  如果使用的是MyEclipse创建的Maven Web工程,使用了默认的artifactId模板,那么创建的项目会出现空格,那么可以按照如下方式,修改模板的配置。

6) Eclipse 配置Maven命令

  在项目右击选择 Run As -> Run Configurations ...

  在弹出的窗口,在Goals写入必要的Maven命令 jetty:run,比如运行嵌入式服务器Jetty, 对应的Maven命令 mvn jetty:run

补充资料:

1, 内置Servlet Container

Java服务器支持的Servlet 版本号和Java版本号之间的关系。

 Name Servlet Version Java Version

Tomcat 8

3.1

Java 7+

Tomcat 7

3.0

Java 6+

Jetty 9.3

3.1

Java 8+

Jetty 9.2

3.1

Java 7+

Jetty 8

3.0

Java 6+

Undertow 1.3

3.1

Java 7+

 

Maven学习笔记-03-Eclipse和Maven集成的更多相关文章

  1. Maven学习笔记(1)之安装Maven

    此笔记是学习Maven时自己摸索+各种百度而来,并非全部原创,望与各位一同学习,勿拍~勿拍~ 安装步骤 1.下载Maven的最新版本,地址:http://maven.apache.org/downlo ...

  2. Maven学习笔记(一)—— Maven基础

    一.Maven介绍 1.1 什么是maven? Maven是apache下的一个纯Java开发的开源项目,它是一个项目管理工具,使用maven对Java项目进行构建.依赖管理. 1.2 什么是项目构建 ...

  3. Maven学习笔记【1】 -- Maven简介

    本文主要讲Maven的基础知识. 一 什么是Maven? Maven是一个项目管理工具.Maven提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档.最强大的功能就是能够自动下 ...

  4. Maven学习笔记之第一个Maven项目(Linux)

    Maven是Apache旗下的管理Java项目jar包的项目管理工具,有了它可以很方便构建和管理我们的Java项目,你不必在互联网上逐个查找你需要的第三方jar包,你只需在maven reposito ...

  5. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  6. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  7. Maven 学习笔记(二)

    前面一文——Maven 学习笔记(一)中已经提到了 pom 的大部分配置,Maven 本质上是一个插件框架,它的核心并不执行任何具体的构建任务,所有这些任务都交给创建来完成,每一个任务都会对应一个插件 ...

  8. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

  9. [struts2学习笔记] 第二节 使用Maven搞定管理和构造Struts 2 Web应用程序的七个步骤

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40303897 官方文档:http://struts.apache.org/releas ...

  10. (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(七)——eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Project 选择File -&g ...

随机推荐

  1. JAVA 和.NET在安全功能的比较

    以下转载于: http://www.it28.cn/ASPNET/825159.html 本文根据Denis Piliptchouk的文章翻译.摘录而来,有些术语翻译不太好理解,还请参考原文. 第一部 ...

  2. Linux profile1,bashrc,.bash_profile,.bash_login,.profile,.bashrc,.bash_logout浅析 Part1

    profile,bashrc,.bash_profile,.bash_login,.profile,.bashrc,.bash_logout浅析 Part 1   by:授客 QQ:103355312 ...

  3. 安卓开发_浅谈ListView之分页列表

    前言: 在开发的过程中,有时候我们需要从网络解析一些数据,比如最近的一些新闻,我们需要把这些数据用ListView显示出来. 因为是解析一个网络数据源,这样将会一下子将所有的数据解析出来,当数据源数据 ...

  4. MVC与单元测试实践之健身网站(六)-计划的添加与重置

    健身计划需要使用者自己定制,没有现成的内容可供选择.本篇就是关于健身计划的添加与重置功能的一部分. 一 功能描述 a) 关于计划的定制,决定以周期的方式,比如有人会以一周为周期,然后安排每周的1.3. ...

  5. JdbcTemplate学习笔记(更新插入删除等)

    1.使用JdbcTemplate的execute()方法执行SQL语句 jdbcTemplate.execute("CREATE TABLE USER (user_id integer, n ...

  6. ffmpeg文件切片

    先用ffmpeg把abc.mp4文件转换为abc.ts文件: ffmpeg -y -i abc.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb ...

  7. python中urllib的整理

    本不想使用这个玩意,奈何看到很多地方使用,随手整理下 urllib模块提供的urlretrieve()函数,urlretrieve()方法直接将远程数据下载到本地 urlretrieve(url, f ...

  8. Logstash收集nginx访问日志和错误日志

    1.收集访问日志 1).首先是要在nginx里面配置日志格式化输出 log_format main "$http_x_forwarded_for | $time_local | $reque ...

  9. 第 16 章 C 预处理器和 C 库(string.h 库中的 memcpy() 和 memmove())

    /*----------------------------------------- mems.c -- 使用 memcpy() 和 memmove() ---------------------- ...

  10. django生命周期和事件委派

    这是事件委派如果不用事件委派   直接绑定的话,新添加的按钮不会有删除或者编辑的功能 上面是事件委派的代码 新添加的编辑按钮可以弹出123 django生命周期: 这是Django的生命周期 首先会通 ...