[Maven 基础课程]pom.xml

pom.xml 常见配置项

为了方便你入门,我总结了 pom.xml 中几个最常见、最重要的配置项,这些通常是你需要在项目中使用的。

项目坐标(GAV)

xml 复制代码
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>jar</packaging>

这部分定义了项目的唯一标识,是所有 Maven 项目的基石。

依赖管理(Dependencies)

xml 复制代码
<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.32</version>
    </dependency>
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

: 包含所有项目依赖的列表。

: 定义一个具体的依赖。

scope: 定义依赖的范围。test 表示该依赖只在测试阶段有效,不会被打包到最终的 JAR 包中。关于 scope 更详细的知识可以参考:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

我们找依赖一般去 maven 仓库找:https://mvnrepository.com/

属性(Properties)

xml 复制代码
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <slf4j.version>1.7.32</slf4j.version>
</properties>

这部分用于定义变量,方便统一管理版本号等配置,避免在多个地方重复硬编码。

构建配置(Build)

xml 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
    </plugins>
</build>

: 配置项目构建相关的设置。

: 配置项目使用的 Maven 插件。

: 定义一个具体的插件,例如 maven-compiler-plugin。

: 用于对插件进行详细配置,比如指定 Java 编译版本。

pom.xml 的更多信息可以参考:https://maven.apache.org/guides/introduction/introduction-to-the-pom.html

相关推荐
潘潘的嵌入式日记3 小时前
改完Keil工程文件被缓存覆盖?——uvprojx编辑的进阶四坑
xml·嵌入式·keil·调试·mdk·工程文件
Full Stack Developme8 小时前
Flowable XML标签大全
xml
C137的本贾尼17 小时前
第九篇:微服务与分布式——把一个大系统拆成多个小服务
xml·spring boot·后端
JustNow_Man4 天前
【Claude Code】 中给 Python + XML 项目建立可靠验证体系
xml·linux·python
AI产品实战5 天前
Gradle打包生成dependencies.xml详解
xml·java·gradle
斯特凡今天也很帅7 天前
xml页面可以打开,不报错,但是显示数据的地方也不显示,我是怎么解决的
xml·vue.js
前网易架构师-高司机7 天前
带标注的21种中药材识别数据集,识别率73.8%数据集,2237张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·中药·药材·中草药
snow@li7 天前
Java:pom.xml全景深度分析 / 机制、标签、依赖、打包、生产避坑全解 / 工程基石
xml·java·开发语言
田里的水稻7 天前
EP_XML\JSON配置文件和YAML
xml·运维·人工智能·机器人·自动驾驶·json
xiangji8 天前
开源完美模块组件化可扩展的Xml解析器Hand.ParseXml
xml·模块化·组件化·可扩展