【Maven】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/xsd/maven-4.0.0.xsd">  
  
    <!-- 项目的基本信息 -->  
    <modelVersion>4.0.0</modelVersion> <!-- 指定POM模型的版本 -->  
  
    <!-- 项目的坐标 -->  
    <groupId>com.example</groupId> <!-- 项目的组织或团队的唯一标识符 -->  
    <artifactId>my-app</artifactId> <!-- 项目的唯一标识符,通常用于生成构建后的文件名 -->  
    <version>1.0-SNAPSHOT</version> <!-- 项目的版本号,SNAPSHOT表示这是一个开发版本 -->  
  
    <!-- 项目的依赖管理 -->  
    <dependencies>  
        <!-- 添加项目依赖 -->  
        <dependency>  
            <groupId>junit</groupId> <!-- 依赖的groupId -->  
            <artifactId>junit</artifactId> <!-- 依赖的artifactId -->  
            <version>4.13.2</version> <!-- 依赖的版本号 -->  
            <scope>test</scope> <!-- 依赖的作用范围,test表示这个依赖只在测试时使用 -->  
        </dependency>  
    </dependencies>  
  
    <!-- 项目的构建配置 -->  
    <build>  
        <plugins>  
            <!-- 配置构建插件 -->  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId> <!-- 插件的groupId -->  
                <artifactId>maven-compiler-plugin</artifactId> <!-- 插件的artifactId -->  
                <version>3.8.1</version> <!-- 插件的版本号 -->  
                <configuration>  
                    <source>1.8</source> <!-- 源代码使用的Java版本 -->  
                    <target>1.8</target> <!-- 目标代码编译的Java版本 -->  
                </configuration>  
            </plugin>  
        </plugins>  
    </build>  
  
    <!-- 项目的其他配置,如属性、仓库等 -->  
    <properties>  
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- 设置项目的源文件编码为UTF-8 -->  
        <maven.compiler.source>1.8</maven.compiler.source> <!-- 设置源代码使用的Java版本为1.8 -->  
        <maven.compiler.target>1.8</maven.compiler.target> <!-- 设置目标代码编译的Java版本为1.8 -->  
    </properties>  
  
    <!-- 项目继承与聚合配置 -->  
    <parent>  
        <!-- 如果当前项目是一个子项目,这里可以指定父项目的坐标 -->  
    </parent>  
    <modules>  
        <!-- 如果当前项目是一个聚合项目,这里可以列出所有的子模块 -->  
    </modules>  
  
    <!-- 项目的分发管理配置 -->  
    <distributionManagement>  
        <!-- 配置项目的分发策略,如发布到Maven中央仓库等 -->  
    </distributionManagement>  
  
    <!-- 项目的报告插件配置 -->  
    <reporting>  
        <plugins>  
            <!-- 配置用于生成项目报告的插件 -->  
        </plugins>  
    </reporting>  
  
    <!-- 项目的其他配置信息 -->  
    <profiles>  
        <!-- 配置项目的构建环境,如开发环境、测试环境、生产环境等 -->  
    </profiles>  
  
    <!-- 项目依赖管理,通常用于统一管理多个项目的依赖 在这里定义了 在子模块或项目的其他部分中,<dependencies> 下引用而不需要指定版本-->  
    <dependencyManagement>  
        <dependencies>  
            <!-- 在这里定义依赖的版本,子项目可以继承这些定义 -->  
        </dependencies>  
    </dependencyManagement>  
  
</project>
相关推荐
杨杨杨大侠4 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
Thinker QAQ5 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
霸道流氓气质6 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路6 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
dishugj8 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
苜蓿muxu8 小时前
常用代码命名规范
java
马优晨8 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Baron X9 小时前
Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作
java·docker·eclipse·temurin
孙浩君9 小时前
我用 Spring Boot + xterm.js 写了个终端风格互动叙事游戏引擎:游戏即文件,上传一个 JSON 就能玩
java