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>
相关推荐
柯儿的天空1 分钟前
WebGPU全面解析:新一代Web图形与计算API
前端·chrome·microsoft·前端框架·chrome devtools·view design
捕捉一只前端小白3 分钟前
cpolar内网穿透以及微信小程序域名设置
前端·vue.js·微信小程序·小程序
wuhen_n7 分钟前
ESLint + Prettier + Husky + lint-staged:建立自动化的高效前端工作流
前端·javascript·vue.js
小同志007 分钟前
HTML 基础
前端·javascript·html
怀旧诚子1 小时前
timeshift之Fedora43设置,已在VM虚拟机验证,待真机验证。
java·服务器·数据库
1104.北光c°1 小时前
滑动窗口HotKey探测机制:让你的缓存TTL更智能
java·开发语言·笔记·程序人生·算法·滑动窗口·hotkey
wuhen_n2 小时前
网络请求在Vite层的代理与Mock:告别跨域和后端依赖
前端·javascript·vue.js
云原生指北4 小时前
GitHub Copilot SDK 入门:五分钟构建你的第一个 AI Agent
java