1 m2e插件安装配置
1.1 eclipse与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已经完成。
Window---show view ------other--------maven Repositories, 打开eclipse仓库视图,对插件和jar包建立索引。
1.6 重构索引(加快对jar包的查询速度)
找到Local respository本地仓库项,点击Rebuild index重建索引。
重建索引完成点击前边的“+”图标即可查看本地仓库的内容,如下图:
2 创建Maven工程
2.1 在eclipse中创建一个maven工程
这里先选择 Maven Project
//如果不跳过archetype,创建的maven工程目录不全,这里跳过archetype
点击next ,可以看到一个helloworld工程,但报错(添加下面的内容就OK了)
2.2 定义坐标
src/java/main创建了一个Servlet,但报错
要解决问题,就是要将servlet-api-xxx.jar包放进来,作为maven工程应当添加servlet的坐标,从而导入它的jar。
直接打开helloworld工程的pom.xml文件,再添加坐标。
不需要手动添加坐标,快捷添加:点击dependencies ---- add ---- 搜索 ---- OK
添加后自动生成的结果如下:
添加jar包的坐标时,还可以指定这个jar包将来的作用范围。
2.3 设置编译版本
查看上边工程的编译版本为1.5,本教程使用jdk1.7,需要设置编译版本为1.7,这里需要使用maven的插件来设置:
在pom.xml中加入:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
执行 项目右键 ---- Maven ---- update project,查看编译版本为1.7:
2.4 定义web.xml
2.5 编写servlet
在src/main/java中创建ServletTest
2.6 编写jsp
test.jsp的内容如下:
index.jsp的内容如下:
2.7 添加servlet/jsp的jar包
Servlet类中报错,无法解析javax.sevlet....在maven工程中添加jar的方式是需要在pom.xml中添加servlet/jsp的坐标,maven自动从创建下载servlet/jsp的jar包。
编辑pom.xml,如下:
2.7.1 入门程序的坐标定义如下:
<!--项目名称,定义为组织名+项目名,类似包名-->
<groupId>cn.itcast.maven</groupId>
<!-- 模块名称 -->
<artifactId>maven-first</artifactId>
<!-- 当前项目版本号,snapshot为快照版本即非正式版本,release为正式发布版本-->
<version>0.0.1-SNAPSHOT</version>
<packaging> :打包类型
jar:执行package会打成jar包
war:执行package会打成war包
pom :用于maven工程的继承,通常父工程设置为pom2.8 配置servlet
在web.xml中配置servlet,如下所示:
2.9 运行
cmd命令行进入工程目录,运行tomcat:run命令3 eclipse下使用maven命令
在eclipse下测试命令
clean、compile、test、package、install
Run as 采用 mvn 命令运行 ,Debug as 采用 mvn Debug 命令调试方式运行(可打断点)
Maven clean 清理target目录
Maven test 执行单元测试
Maven install将工程打包后发布到本地仓库
Maven build 使用之前操作过的命令
Maven build … 手动输入命令内容,如下图:
- 编译命令 mvn compile
编译后 .class文件在 target/classes 下 (这个命令只会对java源程序编译, 不会编译测试代码 , 编译测试类 mvntest-compile , 编译后.class 文件在 target\test-classes )
- 测试命令 mvn test
执行所有测试用例方法, 重新编译
- 清除命令 mvn clean
清除target目录 (清除所有编译结果或者打包结果 ),清理后编译。
- 打包命名 mvn package
java项目生成 jar包, web项目生成war包
默认生成jar包名称: artifactId-version.jar
- 安装命令
安装命令 mvn install 将工程打包后发布到本地仓库
---- 安装到仓库/groupId/artifactId/version 目录