1.m2e插件安装配置
1.1eclipse与maven
通过入门程序中命令行的方式使用maven工作效率不高,可以在eclipse开发工具中集成maven软件,eclipse是一个开发工具,maven是一个项目管理工具,maven有一套项目构建的规范,在eclipse集成maven软件,最终通过eclipse创建maven工程。
1.2插件安装
本教程 使用eclipse mars 2版本,此版本自带maven插件不用单独安装。
在新建窗口中可看到maven项目的创建项表示maven插件已存在,如下图:
1.3指定maven安装目录
一些高版本的eclipse已经内置了maven的安装,下图是eclipse mars2版本中已经内置了maven3.3.3版本,项目为了统一maven的版本不会使用eclipse内置的maven版本,这里我们maven3.3.9。
1.4 User Setting配置
在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。
注意:如果修改了 setting.xml文件需要点击上图中的"update settings"按钮对本地仓库重建索引,点击"Reindex"。
1.5 eclipse浏览仓库
maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览maven本地仓库则说明eclipse集成maven已经完成。
打开eclipse仓库视图,对插件和jar包建立索引
找到Local respository本地仓库项,点击Rebuild index重建索引
重建索引完成点击前边的"+"图标即可查看本地仓库的内容:如下图:
2 定义maven坐标
每个maven工程都需要定义本工程的坐标,坐标是maven对jar包的身份定义,比如:入门程序的坐标定义如下:
cn.itcast.maven
maven-first
0.0.1-SNAPSHOT
:打包类型
jar:执行package会打成jar包
war:执行package会打成war包
pom :用于maven工程的继承,通常父工程设置为pom
3 构建web工程
3.1 需求
创建一个web工程,实现入门程序的功能。
1)添加index.jsp,输出hello world
2)添加一个servlet转发到jsp页面。
3.2 第一步创建maven工程
选择 Maven Project
了解一下骨架界面:
当我们不跳过骨架点击"next"会进入骨架选择页面,如果eclipse中配置本地仓库正确则显示出骨架:
选择webapp会创建一个maven工程(java web工程)
选择quickstart会创建一个maven工程(java工程)
注意:使用骨架的问题是创建的maven工程目录不完整,所以不推荐使用,本教程创建maven工程统一跳过骨架。
3.3 第二步定义坐标
3.4 第三步设置编译版本
查看上边工程的编译版本为1.5,本教程 使用jdk1.7,需要设置编译版本为1.7,这里需要使用maven的插件来设置:
在pom.xml中加入:
org.apache.maven.pluginsmaven-compiler-plugin1.71.7UTF-8
执行update project,查看编译版本为1.7:
3.5 第四步定义web.xml
在src/webapp中添加WEB-INF/web.xml文件,内容为:
<?xml version="1.0" encoding="UTF-8"?>index.htmlindex.htmindex.jspdefault.htmldefault.htmdefault.jsp
3.6 第五步编写servlet
在src/main/java中创建ServletTest
public class ServletTest extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doPost(req, resp);}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.getRequestDispatcher("/jsp/test.jsp").forward(req, resp);}}
3.7 第六步编写jsp
test.jsp的内容如下:
index.jsp的内容如下:
3.8 第七步添加servlet/jsp的jar包
servlet类中报错,无法解析javax.sevlet....
在maven工程中添加jar的方式是需要在pom.xml中添加servlet/jsp的坐标,maven自动从创建下载servlet/jsp的jar包
编辑pom.xml,如下:
javax.servletservlet-api2.5providedjavax.servletjsp-api2.0provided
3.8 第八步配置servlet
在web.xml中配置servlet,如下所示:
servletTestcn.itcast.maven.servlet.ServletTestservletTest/test
3.10 运行
cmd命令行进入工程目录,运行tomcat:run命令
4 eclipse下使用maven命令
在eclipse下测试命令
clean
compile
test
package
install
Run as 采用 mvn 命令运行 ,Debug as 采用 mvnDebug 命令调试方式运行(可打断点)
Maven clean 清理target目录
Maven test 执行单元测试
Maven install将工程打包后发布到本地仓库
Maven build 使用之前操作过的命令
Maven build … 手动输入命令内容,如下图:
编译命令 mvn compile
编译后 .class文件在 target/classes 下 (这个命令只会对java源程序编译, 不会编译测试代码 , 编译测试类 mvn test-compile , 编译后.class 文件在 targetest-classes )
测试命令 mvn test
执行所有测试用例方法, 重新编译
清除命令 mvn clean
清除target目录 (清除所有编译结果或者打包结果 ),清理后编译。
打包命名 mvn package
java项目生成 jar包, web项目生成war包
默认生成jar包名称 : artifactId-version.jar
安装命令
安装命令 mvn install 将工程打包后发布到本地仓库
---- 安装到仓库/groupId/artifactId/version 目录