0%

maven | jar 包管理以及配置文件的书写

这个算是基础了。


参考资料



使用


创建 maven 项目后,项目中将有一个 pom.xml 文件,这个文件是我们管理项目依赖的关键。

下面是一个最基础的 pom.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?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">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<java.version>1.8</java.version>
<fastjson.version>1.2.47</fastjson.version>
</properties>

<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

可以看到文件中有很多属性,下面简要概述一下这些属性都起到什么作用:

  • modelVersion
    • 指定了当前 Maven 模型的版本号,对于 Maven2Maven3来说,它只能是4.0.0
  • groupId
    • 顾名思义,是公司名或是组织名。一般,groupId是由三个部分组成,每个部分之间以”.“分隔
      • 第一部分是项目用途,比如用于商业的就是com,用于非营利性组织的就是org
      • 第二部分是公司名,比如 baidualibaba
      • 第三部分是你的项目名
  • artifactId
    • Maven构建的项目名,比如你的项目中有子项目,就可以使用”项目名-子项目名”的命名方式
  • version
    • 版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本。
  • properties
    • 定义的一些属性,比如jar包的版本,在后面可以直接引用这些属性,便于集中管理
  • dependency
    • 依赖的信息,例如上文中在dependency 中描述了 fastjson 的信息,dependency 包裹在 dependencies 标签中

Maven 中很重要的一点是,groupIdartifactIdversion三个元素生成了一个Maven项目的基本坐标,例如:

1
2
3
4
5
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>

接下来,我们了解一下maven管理项目依赖的基本原理:

一个项目会有很多jar的依赖,Maven工程首先会从本地仓库中获取jar包,当无法获取指定jar包时,本地仓库会从远程仓库(中央仓库)中下载jar包,并放入本地仓库以备将来使用。

补充一点,在 IDEA 中,每次新建项目后,会使用默认的本地仓库地址,要做一下设置:file–settings–Maven

每个项目都要单独放一个存储 jar 包的地方。

请我喝杯咖啡吧~