1.m2e插件安装配置

1.1eclipse与maven

通过入门程序中命令行的方式使用maven工作效率不高,可以在eclipse开发工具中集成maven软件,eclipse是一个开发工具,maven是一个项目管理工具,maven有一套项目构建的规范,在eclipse集成maven软件,最终通过eclipse创建maven工程。

1.2插件安装

本教程 使用eclipse mars 2版本,此版本自带maven插件不用单独安装。

在新建窗口中可看到maven项目的创建项表示maven插件已存在,如下图:




java cmd 打包 cmd打包jar包命令_eclipse


1.3指定maven安装目录

一些高版本的eclipse已经内置了maven的安装,下图是eclipse mars2版本中已经内置了maven3.3.3版本,项目为了统一maven的版本不会使用eclipse内置的maven版本,这里我们maven3.3.9。


java cmd 打包 cmd打包jar包命令_eclipse_02


1.4 User Setting配置

在eclipse中配置使用的maven的setting.xml文件,使用maven安装目录下的setting.xml文件。


java cmd 打包 cmd打包jar包命令_eclipse_03


注意:如果修改了 setting.xml文件需要点击上图中的"update settings"按钮对本地仓库重建索引,点击"Reindex"。

1.5 eclipse浏览仓库

maven配置完成需要测试在eclipse中是否可以浏览maven的本地仓库,如果可以正常浏览maven本地仓库则说明eclipse集成maven已经完成。

打开eclipse仓库视图,对插件和jar包建立索引


java cmd 打包 cmd打包jar包命令_jar包_04


找到Local respository本地仓库项,点击Rebuild index重建索引


java cmd 打包 cmd打包jar包命令_jar包_05


重建索引完成点击前边的"+"图标即可查看本地仓库的内容:如下图:


java cmd 打包 cmd打包jar包命令_cmd命令将web项目打成jar包_06


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


java cmd 打包 cmd打包jar包命令_eclipse_07


java cmd 打包 cmd打包jar包命令_eclipse_08


了解一下骨架界面:

当我们不跳过骨架点击"next"会进入骨架选择页面,如果eclipse中配置本地仓库正确则显示出骨架:


java cmd 打包 cmd打包jar包命令_jar包_09


选择webapp会创建一个maven工程(java web工程)

选择quickstart会创建一个maven工程(java工程)

注意:使用骨架的问题是创建的maven工程目录不完整,所以不推荐使用,本教程创建maven工程统一跳过骨架。

3.3 第二步定义坐标


java cmd 打包 cmd打包jar包命令_maven_10


java cmd 打包 cmd打包jar包命令_jar包_11


3.4 第三步设置编译版本

查看上边工程的编译版本为1.5,本教程 使用jdk1.7,需要设置编译版本为1.7,这里需要使用maven的插件来设置:

在pom.xml中加入:

org.apache.maven.pluginsmaven-compiler-plugin1.71.7UTF-8

执行update project,查看编译版本为1.7:


java cmd 打包 cmd打包jar包命令_jar包_12


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


java cmd 打包 cmd打包jar包命令_java cmd 打包_13


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


java cmd 打包 cmd打包jar包命令_maven_14


test.jsp的内容如下:


java cmd 打包 cmd打包jar包命令_maven_15


index.jsp的内容如下:


java cmd 打包 cmd打包jar包命令_cmd命令将web项目打成jar包_16


3.8 第七步添加servlet/jsp的jar包

servlet类中报错,无法解析javax.sevlet....


java cmd 打包 cmd打包jar包命令_cmd命令将web项目打成jar包_17


在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


java cmd 打包 cmd打包jar包命令_cmd命令将web项目打成jar包_18


Run as 采用 mvn 命令运行 ,Debug as 采用 mvnDebug 命令调试方式运行(可打断点)

Maven clean 清理target目录

Maven test 执行单元测试

Maven install将工程打包后发布到本地仓库

Maven build 使用之前操作过的命令

Maven build … 手动输入命令内容,如下图:


java cmd 打包 cmd打包jar包命令_maven_19


编译命令 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 目录


java cmd 打包 cmd打包jar包命令_eclipse_20