Maven的基本概念
Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.
使用Maven可以方便地进行项目依赖管理、打包、发布。其核心是一个project object model(POM)。
Maven的安装、环境变量配置
此部分省略
Maven的三种jar包仓库(依赖管理)
- 本地仓库
Windows下的maven默认位于C:\Users[username].m2\repository路径下。本地项目运行所需的jar包都要从这个仓库中获取。 - 中央仓库
当maven项目所需的jar包在本地仓库没有时,要从中央仓库下载对应的jar包,这个过程要求计算机可以联网。jar包下载后放在本地仓库中。 - 远程仓库
一般在企业中使用,放在公司自己的服务器上,也叫"私服",其中可能包含了企业自己项目所需的自己开发的jar包。在企业开发时,本地仓库没有的jar包,先从远程仓库下载。远程仓库可以从中央仓库下载jar包,也可以由本地仓库上传jar包。
Maven项目标准目录结构
prj
└─src
****├─main
****│****├─java 核心代码部分
****│****├─resources 配置文件部分
****│****└─webapp 只存在于web项目中,包含页面资源(HTML,CSS,JS,图片等)
****└─test 测试部分的文件夹
********├─java 测试代码部分(Junit等)
********└─resources 测试配置文件
Maven常用命令
mvn compile 将prj/src/main目录下的代码进行编译,结果放在prj/target目录下
mvn clean 把编译好的项目信息删掉,即删除target目录
mvn test 编译prj/src/test目录下的代码,结果放在prj/target/test-classes目录下(这个命令同时也会编译main目录下的代码)
mvn package 打包,同时编译main目录和test目录,打包结果放在target文件夹中。打成什么包在prj/pom.xml中有说明,例如war包。
mvn install 在打包的基础上,把打成的包复制到了本地仓库。
Maven生命周期
清理生命周期:
mvn clean
默认生命周期:(执行后面的操作相当于把之前的操作也做了一遍)
mvn compile
mvn test
mvn package
mvn install
mvn deploy
站点生命周期:
项目发布后,运行时。
Maven概念模型图
pom.xml
包含项目自身的信息(自身的坐标等)
项目依赖信息(<dependencies>标签,包括项目依赖的jar包等)
项目环境信息(jdk、tomcat、插件等)
依赖管理(Dependency)
jar包的坐标
坐标组成:公司/组织名(Group Id),项目名(Artifact Id),版本号(version)
一键构建
生命周期
compile … deploy,每一个命令都对应了maven底层的一个插件
在eclipse中使用maven
首先确保本地已经安装了maven,方法是,在控制台中使用命令mvn -v,应该会输出版本号。
在eclipse的preferences-Maven-User Settings中可以设置本地仓库路径。
使用骨架创建maven项目
Eclipse-File-New-Project-Maven-Maven Project,next,不勾选第一个"Createa simple project(skip archetype selection)",next.
在Filter中输入信息可以快速找到所想要的骨架,例如这里使用"maven-archetype-quickstart",它是一个很简单的Java工程骨架。

然后点击下一步,会经过一个下载骨架的过程。
下载完成后,弹出一个框框,我们需要在这个框框内输入我们这个项目的坐标,至少要三个最基本的坐标信息:GroupId, Artifact Id, version。
可以看到创建后的目录是不完整的,需要我们手动补全所有的目录(比如说resources),直接new Folder即可。但是new出来的resources文件夹不能被eclipse识别为资源文件夹,需要手动添加。
右击项目名-properties,在Java Build Path中单击source选项卡,然后add folder。

不使用骨架创建maven项目
只需要勾选"Createa simple project(skip archetype selection)",其余操作与上面的相同。不使用骨架创建的maven工程无需手动添加resources文件夹。今后建议多用"不使用骨架创建maven项目"
利用eclipse在maven项目中导入jar包
<dependencies>标签表示所有依赖的集合,每一个依赖都用一个<dependency>标签表示,在每一个依赖中包含三个标签:<groupId>、<artifactId>、<version>,表示依赖的jar包的坐标。
如果本地仓库中有对应的jar包,则在输入坐标时会有自动补全提示。
如果本地仓库没有jar包,需要到中央仓库去搜索。中央仓库URL:https://mvnrepository.com/。

搜索后复制对应的坐标信息,添加到pom.xml的<dependencies>标签下即可。然后按Ctrl+S保存pom.xml文件,eclipse会自动开始下载jar包。

解决jar包冲突,通过在<dependency>标签中设置scope来完成。





227

被折叠的 条评论
为什么被折叠?



