Maven 是一个项目管理工具,可以对 Java
项目进行构建、依赖管理。
Maven的核心功能是合理叙述项目间的依赖关系,通俗点 就是
“通过pom.xml文件的配置获取jar包不用手动的去添加jar包”。该工具的原理图如下所示——
仓库
仓库可以储存资源,包含各种jar
包。仓库分为两种:本地仓库和远程仓库
- 本地仓库:是在本机电脑上储存资源的仓库,可以从远程仓库中获取资源。
- 远程仓库:非本机仓库,可以为本地仓库获取资源,又包含两种——中央仓库(apache公司的开发者维护的资源包)和私服(包括从中央仓库)
坐标
如果我们本地的maven项目想从远程仓库中获取的maven资源包并使用(也叫依赖),需要在pom.xml
中提供该资源包的坐标,坐标至少包括三个内容——groupId
artifactId
version
,可以直接在官网中查找。
<!--依赖所属群组id-->
<groupId>junit</groupId>
<!--依赖所属项目id-->
<artifactId>junit</artifactId>
<!--依赖版本号-->
<version>4.12</version>
我们在本地新建maven项目时也需要在
pom.xml
中提供该项目的坐标,以方便其他人使用我们的项目成果(准确来说,是使用该项目打包后形成jar
包)。
maven项目的工程目录
maven项目的java工程目录如下所示——
如果这是一个web工程,则需要在main中增加一个文件夹webapp
,如下图——
pom.xml写法
pom.xml
在项目的根目录下(例如上文中的java01
文件夹),作用是对maven项目进行配置。必须包括maven的版本号,当前项目的坐标,还可以包含依赖(dependencies
)、插件(plugins
)等等。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- maven的版本号 -->
<modelVersion>4.0.0</modelVersion>
<!--所属群组id-->
<groupId>com.hyggge</groupId>
<!--项目id-->
<artifactId>java01</artifactId>
<!--版本号-->
<version>1.0-SNAPSHOT</version>
<!-- 依赖 -->
<dependencies>
<!--具体的依赖-->
<dependency>
<!--依赖所属群组id-->
<groupId>junit</groupId>
<!--依赖所属项目id-->
<artifactId>junit</artifactId>
<!--依赖版本号-->
<version>4.12</version>
</dependency>
</dependencies>
<!-- 插件 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
<executions>
<execution>
<goals>
<goal>jar</goal>
</goals>
<phase>generate-test-resources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>