[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

相关推荐
郭小李18 小时前
mybatis的 Mapper.xml语法
xml·java·mybatis
步行cgn18 小时前
为什么既要 web.xml 又要 springmvc.xml?能不能只配一个?
xml·前端·hive
SEO_juper3 天前
Go 站点地图生成器:从首页爬全站,一键生成 sitemap.xml
xml·开发语言·人工智能·golang·node.js·seo·外贸独立站
可爱系程序猿5 天前
XML 导入失败并指向 msxml6.dll:用最小样本区分解析错误与组件加载
xml·程序人生·电脑
SEO_juper5 天前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
步行cgn5 天前
Spring MVC 核心配置文件详解:springmvc.xml 每一行配置的意义
xml·spring·mvc
泡海椒7 天前
JQuick-SQL JQuickTable 模型:XML 动态 SQL 的表封装边界
xml·数据库·sql
supabc1237 天前
欧盟电子发票(XRechnung/Peppol/ZUGFeRD)踩坑记:用 Python 不装 Java 跑官方校验规则
xml·python·开源·电子发票·1024程序员节
zzu123zsw8 天前
当 GPU 加速渲染遇上无头组件:拆解 Yororen UI 在 GPUI 生态下的状态解耦与 XML 模板实践
xml·ui·rust·gui·gpui
麦序子9 天前
用 pdfplumber + 正则 解析工程量清单 PDF:提取项目编码、综合单价并导出 Excel
xml·pdf·python3.11