三、Maven入门
(一)创建工程
1. 选择菜单 File ->new -> Other
选择Maven下的Maven Project, Next
2. 选中下图红框部分的复选框(跳过骨架),next
3. 定义工程坐标
maven对所有工程管理基于坐标进行管理。
坐标包括:
Group Id:项目的名称,项目名称以域名的倒序,比如:cn.itcast.mavendemo
Artifact Id:模块名称(子项目名称)
Version:模块的版本,snapshot(快照版,没有正式发行)、release(正式发行版本)
输入后,Finish 。完成后如下图
工程目录结构说明:
project
/src/main/java 主体程序 java源文件(不要放配置文件)
/src/main/resources 主体程序所需要的配置文件(不要放java文件)
/src/test/java 单元测试程序 java源文件
/src/test/resources 单元测试程序所用的配置文件
/target 编译输出目录
pom.xml Maven进行工作的主要配置文件。
4. 编写代码
(1)在src/main/java 目录下创建包cn.mavendemo
(2)在包cn.itcast.mavendemo下创建HelloWorld 类
package cn.mavendemo;
publicclass HelloWorld {
publicstaticvoid main(String[] args) { System.out.println("HelloWorld!!"); } } |
(二)设置编译版本
我们现在的Maven工程默认是JDK1.5 ,我们需要将编译版本改为JDK1.7
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> </build> |
将上边的配置信息粘贴到pom.xml中。
点击工程右键 Maven -> Update Project ...
弹出窗口后OK .操作后 ,编译版本改为 1.7
(三)添加依赖
右键点击工程 Maven -- > Add Dependency
添加后打开pom.xml,发现多了以下信息
<dependencies> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.0.7.Final</version> </dependency> </dependencies> |
我们再看工程目录下的Maven Dependecies 下又多了很多jar包
奇怪了!我只是加了一个hibernate的核心包,为什么会多出这么多jar包呢?
这是因为hibernate的核心包本身又会依赖其它的jar包,所以导入hibernate包自动会添加hibernate所依赖的包。
(四)项目生命周期(了解)
Maven有三套相互独立的生命周期,分别是:clean、default、site。clean主要是清理项目、default是Maven最核心的的构建项目、site是生成项目站点。每一个大的生命周期又分为很多个阶段。后面的阶段依赖于前面的阶段,这点有点像Ant的构建依赖。生命周期本身相互独立,用户可以仅仅调用生命周期的某一个阶段,也就是说用户调用了default周期的任何阶段,并不会触发clean周期以及site周期的任何事情。三大生命周期蕴含着小小的阶段,我们按顺序看一下:
(1)clean周期:
pre-clean:准备清理
clean:真正的清理工作
post-clean:执行清理后的一些后续工作
(2)default周期:
validate:验证
initialize:初始化配置
generate-sources:生成源代码编译目录
process-sources:处理项目主资源文件,复制资源文件到outputclasspath
generate-resources:生成资源目录
process-resources:处理资源文件
complie:编译源代码
process-classes:处理编译后文件
generate-test-sources:生成测试目录
process-test-sources:处理项目测试资源文件,复制测试资源文件到outputclasspath
generate-test-resources:生成测试资源文件
process-test-resources:处理测试资源文件
test-compile:编译测试代码
process-test-classes:处理测试代码
test:单元测试运行测试代码
prepare-package:打包前的准备
package:将编译好的代码打包成为jar或者war或者ear等等
pre-integration-test:准备整体测试
integration-test:整体测试
post-integration-test:为整体测试收尾
verify:验证
install:安装到本地Maven库
deploy:将最终包部署到远程Maven仓库
(3)site周期:
pre-site:准备生成站点
site:生成站点及文档
post-site:站点收尾
site-deploy:将生成的站点发布到服务器上
(五)常见命令
maven通过命令对工程进行清理、编译、测试、打包、部署。
点击工程右键 ,Run As (或Debug As ) -- > MavenBuild ...
常用命令如下:
compile:编译
clean:清理,将target下的class文件清理
test:执行单元测试类,执行src/test/java下的类
package :将java工程打成jar、war。
install:安装命令,将将程的jar发布到本地仓库
发布到仓库,目录按照本工程定义的坐标生成目录
扩展:
其实我们所执行的这些命令是对maven原生命令的封装,我们可以在命令提示符下直接通过这些命令来对代码进行编译打包等操作,格式如下:
mvn 命令名称 运行不调试
mvnDebug 命令名称 调试运行
我们要在命令提示符下执行maven命令必须配置下面两个环境变量
MAVEN_HOME D:\\apache-maven-3.3.9
PATH %MAVEN_HOME%\\bin
测试Maven环境 ,在控制台输入mvn -v ,有下列信息输出表示Maven配置正常。
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">