maven
此资料从官网摘取
# 模板
<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>
<!-- The Basics -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<packaging>...</packaging>
<dependencies>...</dependencies>
<parent>...</parent>
<dependencyManagement>...</dependencyManagement>
<modules>...</modules>
<properties>...</properties>
<!-- Build Settings -->
<build>...</build>
<reporting>...</reporting>
<!-- More Project Information -->
<name>...</name>
<description>...</description>
<url>...</url>
<inceptionYear>...</inceptionYear>
<licenses>...</licenses>
<organization>...</organization>
<developers>...</developers>
<contributors>...</contributors>
<!-- Environment Settings -->
<issueManagement>...</issueManagement>
<ciManagement>...</ciManagement>
<mailingLists>...</mailingLists>
<scm>...</scm>
<prerequisites>...</prerequisites>
<repositories>...</repositories>
<pluginRepositories>...</pluginRepositories>
<distributionManagement>...</distributionManagement>
<profiles>...</profiles>
</project>
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
32
33
34
35
36
37
38
39
40
41
42
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
32
33
34
35
36
37
38
39
40
41
42
# 基本配置
modelVersion | Maven模块版本,目前我们一般都取值4.0.0 |
groupId | 分组名称,一般域名倒叙。 |
artifactId | 项目名称或子模块名称。 |
version | 版本号
|
name | 项目名称 |
description | 项目描述 |
packaging | 打包类型,可取值:jar,war,maven-plugin等等,这个配置用于package的phase,具体可以参见package运行的时候启动的plugin, |
# parent
继承父类
<parent>
<groupId>com.yuyu</groupId>
<artifactId>yuyu-nexus-parent-pom</artifactId>
<version>0.0.2.RELEASE</version>
1
2
3
4
2
3
4
# modules
声明子模块
<modules>
<module>sales-mall</module>
<module>sales-middle</module>
</modules>
1
2
3
4
5
2
3
4
5
# Dependencies
项目所需要的依赖包
groupId | 依赖项的groupId |
artifactId | 依赖项的artifactId |
version | 依赖项的版本 |
scope | 依赖项的适用范围:
|
exclusions | 排除项目中的依赖冲突时使用。 |
# exclusions
- 排除告诉Maven不要包括指定的项目依赖的这种依赖性(换句话说,它的传递依赖)。例如,maven-embedder需要maven-core,我们不希望使用它或其依赖项,然后我们将它排除。
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>2.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
</exclusion>
</exclusions>
</dependency>
...
</dependencies>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
- 它有时也有用片段依赖的传递依赖关系。依赖可能错误地指定的范围,与其他依赖或依赖项冲突在您的项目。使用通配符不便于排除所有依赖的传递依赖项。在下面的情况下你可能会使用maven-embedder和你想管理依赖你自己使用,所以你剪辑传递依赖关系:
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-embedder</artifactId>
<version>3.1.0</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# build
构建
<build>
<finalName>sales-middle-service</finalName>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>${project.basedir}/src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
finalName | 项目打包后的名字 |
---|---|
resources | 配置文件 |
filter | 可以把属性写到文件里,用属性文件里定义的属性做替换 |
上次更新: 2021/02/16, 15:47:09