Maven 项目构建
# Maven 项目构建
# 1. 手动生成 Maven 项目
# Maven 工程目录结构
Maven 项目的标准目录结构如下图所示:
在 src
同层目录下创建 pom.xml
文件,这是 Maven 管理项目的核心文件。pom.xml
包含项目的配置信息、依赖声明和构建配置。
# pom.xml
文件示例
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 组织标识符 -->
<groupId>cn.knt</groupId>
<!-- 项目标识符 -->
<artifactId>project-java</artifactId>
<!-- 版本号 -->
<version>1.0</version>
<!-- 打包类型 -->
<packaging>jar</packaging>
<!-- 项目依赖 -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
</project>
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
# Maven 项目构建命令
Maven 构建命令以 mvn
开头,后面加上不同的参数来执行不同的功能,可以一次执行多个命令,使用空格分隔。例如:
mvn compile # 编译项目
mvn clean # 清理编译产生的内容
mvn test # 执行测试
mvn package # 打包项目
mvn install # 安装到本地仓库
2
3
4
5
# 2. 使用构建命令生成项目
# 创建工程
进入到指定的目录下,使用以下命令生成一个简单的 Java 项目:
mvn archetype:generate \
-DgroupId=cn.knt \
-DartifactId=java-project \
-DarchetypeArtifactId=maven-archetype-quickstart \
-Dversion=0.0.1-SNAPSHOT \
-DinteractiveMode=false
2
3
4
5
6
# 创建 Web 工程
使用以下命令生成一个 Web 工程:
mvn archetype:generate \
-DgroupId=cn.knt \
-DartifactId=web-project \
-DarchetypeArtifactId=maven-archetype-webapp \
-Dversion=0.0.1-SNAPSHOT \
-DinteractiveMode=false
2
3
4
5
6
生成的 Web 工程目录结构如下图所示:
# 3. 使用 IDEA 生成 Maven 项目
# 配置 Maven
在 IDEA 中,打开 Settings
配置 Maven 的根目录、settings.xml
目录以及本地仓库目录,如下图所示:
# 新建 Maven 项目
在 IDEA 中创建新项目时,选择 Maven 项目类型:
创建 Java 项目时,选择
archetype-quickstart
进行项目初始化:创建 Web 项目时,选择
archetype-webapp
进行项目初始化:
# 配置 Tomcat 插件(如果需要)
如果你的项目需要部署到 Tomcat 上,可以在 pom.xml
中添加 Tomcat 插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>8080</port> <!-- 端口号 -->
<path>/</path> <!-- 项目路径 -->
</configuration>
</plugin>
</plugins>
</build>
2
3
4
5
6
7
8
9
10
11
12
13
# 4. 快速导入maven模块
在项目结构中找到我们的父模块,直接导入对应的Maven模块:
如果你发现直接将现有的Maven模块复制到自己项目中并没有被自动识别为maven项目,可以按照以下步骤操作:
1. 在IDEA中,选择File
> New
> Module from Existing Sources...
。
2. 在弹出的文件选择器中,浏览到你的Maven项目或模块的pom.xml
文件,选择它,然后点击OK
。
3. IntelliJ IDEA会识别出这是一个Maven项目,并提示你通过Maven导入项目。按照向导完成导入过程。
# 4. Maven 打包规则
Maven 打包时生成的包名遵循以下默认命名规则:
artifactId-version.packaging
- artifactId:项目在
pom.xml
文件中定义的<artifactId>
元素的值,代表项目的基本标识。 - version:项目版本号,对应
pom.xml
文件中的<version>
元素的值。 - packaging:打包类型,例如
jar
、war
等,对应pom.xml
文件中的<packaging>
元素的值。如果未指定<packaging>
,Maven 默认使用jar
类型。
示例
如果 pom.xml
文件包含以下配置:
<groupId>com.example</groupId>
<artifactId>my-application</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
2
3
4
那么生成的包名将会是:
my-application-1.0.0.jar
# 自定义打包名称
如果需要自定义打包后的名称,可以在 pom.xml
中使用 <build>
标签内的 <finalName>
元素:
<build>
<finalName>custom-name</finalName>
</build>
2
3
这将会生成名为 custom-name.jar
的打包文件。
注意事项
自定义的 <finalName>
不会自动附加文件类型后缀(如 .jar
或 .war
),如果需要可以手动指定。