Maven
是
Apache
软件基金会组织维护的一款自动化构建工具,专注服务于
Java
平台的项目构建和依赖管理。
maven工程约定的目录结构
maven
中约定的目录结构:
Hello
|---src
|---|---main
|---|---|---java
|---|---|---resources
|---|---test
|---|---|---java
|---|---|---resources
|---pom.xml
maven工程必须按照这个目录结构进行组织,其中pom.xml是Maven 工程的核心配置文件。
pom.xml的主要配置项
pom文件中常常包括以下内容:
<project>
<modelVersion>4.0.0</modelVersion>
<!--maven2.0必须是这样写,现在是maven2唯一支持的版本-->
<!-- 基础设置 -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<name>...</name>
<url>...</url>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>
<!--构建设置 -->
<build>...</build>
<reporting>...</reporting>
<!-- 更多项目信息 -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>
<!-- 环境设置-->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
他们对应如下配置项:
Maven仓库
maven仓库主要存放:
1. Maven
的插件,插件也是一些
jar
,这些
jar
可以完成一定的功能。
2.
我们自己开发项目的模块
3.
第三方框架或工具的
jar
包
包括本地仓库和远程仓库
本地仓库
,存在于当前电脑上
,
默认存放在
~\.m2\repository
中
,
为本机上所有的
Maven
工程服务。
可以通过
Maven
的配置文件
Maven_home/conf/settings.xml
中修改本地仓库所在的目录。
远程仓库
,分为为全世界范围内的开发人员提供服务的中央仓库、为全世界范围内某些特定的用户提供服务的中央仓库镜像、为本公司提供服务自己架设的私服。
中央仓库是
maven
默认的远程仓库,其地址
是
:http://repo.maven.apache.org/maven2/ ;
中央仓库包含了绝大多数流行的开源Java
构件,以及源码、作者信息、许可证信息等。一般来说,简单的
Java
项目依赖的构件都可以在这里下载得到。
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的Maven
用户使用。当
Maven
需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓
库下载,缓存在私服上之后,再为
Maven
的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上
传到私服上。
在
Maven
构建项目的过程中如果需要某些插件,首先会到
Maven
的本地仓库中查找,如果找到则可以直接使用;如果找不到,它会自动连接外网,到远程中央仓库中查找;
如果远程仓库中能找到,则先把所需要的插件下
载到本地仓库,然后再使用,并且下次再用到相同的插件也可以直接使用本地仓库的;如果没有外网或者远程仓库中也找不到,则构建失败。
Maven install 命令
安装 mvn install 命令,就是将上面生成的jar文件复制到本地的maven仓库中,然后其他的项目可以使用这个jar包
mvn install -DskipTests 跳过单元测试