maven中properties和dependencys标签的区别

在Maven的pom.xml中,<properties>用于定义可重用的变量(如版本号),而<dependency>用于声明项目实际依赖的外部库;两者通过 $ {}语法关联,<properties>中的变量可在<dependency>中引用以实现统一管理。

<properties> 的作用

  • 定义项目中可重用的变量(属性),如依赖版本号、编码格式等
  • 类似于Java中定义变量,可在POM文件其他位置通过 $ {propertyName}引用
  • 示例:定义JUnit版本变量 <junit.version>5.7.2</junit.version>12

<dependency> 的作用

  • 直接声明项目实际需要的依赖库,包含groupId、artifactId、version等坐标信息
  • 用于导入外部依赖库,使项目能够正确编译和运行
  • 示例:引用properties中定义的版本 <version> $ {junit.version}</version>

详细示例:

XML 复制代码
<properties>
    <junit.version>5.7.2</junit.version>
    <log4j.version>2.15.0</log4j.version>
</properties>

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version> $ {junit.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>
相关推荐
Wang's Blog13 分钟前
Java 项目实战: 交友项目 - 黑名单:取消黑名单
java·windows·交友
杨杨杨大侠43 分钟前
DeepSeek Harness:连 Agent Loop 都能替换的插件架构
java·人工智能·agent
SL_staff43 分钟前
私有化低代码运维三重雷区:JVS开源栈中的Kafka/ES/RabbitMQ治理实践
java·低代码·全栈
yuniko-n44 分钟前
【算法】约瑟夫环问题
java·算法
郝亚军1 小时前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构
譕痕1 小时前
stripe 实例
java·开发语言·stripe·checksession
墨子夕1 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(前言篇)
java·开发语言·设计模式
骇客野人1 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
时间的情敌1 小时前
《回顾 2018 前端:Vue2 成熟期,Webpack4 发布,PWA 大火》
前端
.Bryce.2 小时前
MCP+A2A+ANP,Agent通信协议的完整知识地图
java·人工智能·后端·agent·通信协议