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>
相关推荐
云上工程笔记4 分钟前
AstraFlow + React/Vite:如何用自然语言开发并部署一个 AI 咖啡网站原型
前端·人工智能·react.js
Json____24 分钟前
从零构建家政服务平台:一套全栈架构如何打通管理端与移动端-java-springboot
java·spring boot·后端·架构·毕设·wwwoop.com
Q一件事27 分钟前
ArcGIS中TypeError: can‘t multiply sequence by non-int of type ‘str‘错误
前端·javascript·arcgis
云雀衔光1 小时前
Java Spring AI MCP:在 Spring 里把 AI 接上你的业务系统
java·开发语言·人工智能·后端·测试工具·spring
美狐美颜SDK开放平台1 小时前
从视频处理到实时渲染:直播APP中视频美颜SDK的关键技术解析
前端·人工智能·架构·实时互动·音视频·视频美颜sdk
重生之小比特1 小时前
【Java SE】数据类型与变量
java·开发语言·python
苏渡苇1 小时前
Spring Insight 里如何对 Span 进行清洗
java·spring boot·后端·spring·系统监控
find1star1 小时前
LeetCode 54:螺旋矩阵——用四个边界模拟矩阵收缩
java·算法·leetcode·边缘计算·学习方法
Yeniden1 小时前
Java 后端从零到企业级:第1篇 Java 基础语法——变量、数据类型与运算符
java·开发语言·apache
邪修king1 小时前
Linux系统篇(二十三) 基础 IO:从“文件”到“文件描述符”,彻底理解重定向
android·java·linux