魔术桌
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • 更新日志
  • 新闻资讯
  • 数据资产
  • 网站导航
  • 订阅推荐
  • 商品推广
  • 日记
  • 摘录
  • 论文
  • 方案
  • 技术
  • 风格
  • 视觉
  • 原材料
  • 加工工艺
  • 元器件
  • 产品设备
  • 设计模式
  • 数据结构
  • 算法设计
  • 软件架构
  • 程序语言
  • 代码类库
  • 操作系统
  • 软件包
  • 健康
  • 环境
  • 社会
  • 道德
  • 法律
  • 经济
  • 政策
  • Package - Maven - “pom.xml”文件

文章摘要: pom.xml 文件是 Maven 项目的核心配置文件,全称为 Project Object Model (项目对象模型)。

简介

  • pom.xml文件是 Maven 项目的核心配置文件,全称为 Project Object Model (项目对象模型)。
  • 它定义了项目的构建、依赖、插件和其他项目信息的配置。
  • pom.xml文件位于 Maven 项目的根目录下,Maven 构建工具通过解析这个文件来执行项目的构建和依赖管理。

maven命名空间

<?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>     <!-- POM模型版本,通常是4.0.0 -->

    <!-- 继承父级项目 -->
    <!-- 项目信息 -->
    <!-- 项目坐标 -->
    <!-- 打包方式 -->
    <!-- 被继承的子模块 -->
    
    <!-- 项目属性 -->

    <!-- 设置maven仓库 -->

    <!-- 定义依赖 -->
    
    <!-- 引入依赖 -->
    
    <!-- 设置构建工具 -->

</project>

继承父级项目

<!-- 继承父级项目 -->
<parent> <!-- 引入并继承spring boot提供的父级pom.xml -->
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.5</version>
</parent>

设置项目信息

<!-- 项目信息 -->
<name>软件智能体</name> <!-- 项目名称/别名 -->
<description>项目/当前模块信息</description>  <!-- 描述信息 -->

设置项目坐标

<!-- 项目坐标 -->
<groupId>cn.ha.magictable</groupId> <!-- 组织ID -->
<artifactId>agent</artifactId> <!-- 模块ID -->
<version>1.0-SNAPSHOT</version> <!-- 版本号 -->

设置打包方式

<!-- 打包方式 -->
<!-- `jar`(java应用) -->
<!-- `war`(web应用)-->
<!-- `pom`(不会打包,当作用于继承的父工程)-->
<packaging>pom</packaging>

被继承的子模块

<!-- 被继承的子项目 -->
<modules>
    <module>core</module>
    <module>authentication</module>
    <module>user</module>
    <module>common</module>

</modules>

设置项目属性

<!-- 项目属性 -->
<properties>
    <!-- 项目JDK版本 -->
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <!-- 项目编码格式 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!-- 自定义属性标签和值 -->
    <spring.boot.version>2.6.13</spring.boot.version> <!-- 定义springBoot的版本 -->

</properties>

设置maven仓库

<!-- 指定maven仓库 -->
<repositories>
    <repository> <!-- 华为maven仓库 -->
        <id>huaweicloud</id>
        <name>华为云镜像源</name>
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
    </repository>
    
</repositories>

定义依赖

<!-- 定义依赖,仅定义没有真正引入 -->
<!-- 此处写的依赖,子模块不会自动继承,子模块手动继承时无需指定版本号 -->
<dependencyManagement> 
    <!--定义依赖-->
    <dependencies>
        <dependency> <!-- 定义测试依赖 -->
            <groupId>junit</groupId>        <!-- 依赖所属组织ID -->
            <artifactId>junit</artifactId>  <!-- 依赖所属项目ID -->
            <version>4.13.2</version>       <!-- 依赖所属项目版本号 -->
            <scope>test</scope>             <!-- 依赖范围(compile、test、provided、runtime) -->
        </dependency>
        
    </dependencies>

</dependencyManagement>
<!--待完善-->

引入依赖

<!-- 引入依赖,子模块会自动继承 -->
<dependencies>
    <dependency> <!-- 引入测试依赖 -->
        <groupId>junit</groupId>        <!-- 依赖所属组织ID -->
        <artifactId>junit</artifactId>  <!-- 依赖所属项目ID -->
        <version>4.13.2</version>       <!-- 依赖所属项目版本号 -->
        <scope>test</scope>             <!-- 依赖范围(compile、test、provided、runtime) -->
    </dependency>

</dependencies>

设置构建工具

<!-- 构建 -->
<build>
    <!-- 插件 --> <!-- 可同时设置多个插件 -->
    <plugins>
        <plugin> <!-- 添加Spring Boot的Maven插件 -->
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        
    </plugins>

</build>
更新时间: 2025/10/2 21:54