当前位置: 首页 > news >正文

Spring Boot pom.xml 属性配置 <properties> 没有统一管理 lombok 依赖版本,这里可以正常使用 ${lombok.version}

问题:

<!-- 属性配置,统一管理依赖版本 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- MapStruct 版本 --> <org.mapstruct.version>1.6.3</org.mapstruct.version> </properties> <version>${lombok.version}</version> 属性配置 <properties> 没有统一管理 lombok 依赖版本,这里直接使用 ${lombok.version},可以吗?

在当前的pom.xml中,<version>${lombok.version}</version>是可行的,因为它继承自 Spring Boot 父 POM。

为什么可行?

  • spring-boot-starter-parent作为父 POM,已经定义了lombok.version属性(例如1.18.36)。

  • 在子项目中,可以直接使用${lombok.version}引用该版本,无需在<properties>中重复声明。

验证方式

你可以运行以下命令查看实际解析的版本:

bash

mvn help:evaluate -Dexpression=lombok.version -q -DforceStdout

如果输出一个具体的版本号(如1.18.36),说明该属性已被父 POM 定义。

建议(可选)

虽然当前配置可正常工作,但如果你希望显式控制 Lombok 版本(例如固定版本防止父 POM 升级带来的影响),可以在<properties>中添加:

xml

<properties> <lombok.version>1.18.36</lombok.version> </properties>

这样既保留了父 POM 的管理,又明确了本地使用的版本。

结论

当前配置是正确的,不会因为未定义${lombok.version}而导致编译失败。


PS D:\MyCode\wylims-jm\lims-server> mvn help:evaluate -Dexpression=lombok.version -q -DforceStdout null object or invalid expression[ERROR] Unknown lifecycle phase ".version". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: pre-clean, clean, post-clean, validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException PS D:\MyCode\wylims-jm\lims-server>

你执行的命令报错是因为 PowerShell 对命令行参数的解析问题。在 PowerShell 中,-Dexpression=lombok.version中的点号.被解释为命令分隔符或特殊字符,导致 Maven 收到了错误的参数,误以为lombok.version是一个生命周期阶段。

✅ 正确的命令(两种方式均可)

方式一:使用引号包裹参数

powershell

mvn help:evaluate -Dexpression="lombok.version" -q -DforceStdout

方式二:使用 Maven Help 插件的完整路径(避免解析问题)

powershell

mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:evaluate -Dexpression=lombok.version -q -DforceStdout

执行上述任一命令后,如果父 POM 定义了lombok.version,会输出版本号(如1.18.36);如果未定义,则输出null object or invalid expression


📌 关于${lombok.version}的可行性

在 Spring Boot 父 POM(spring-boot-starter-parent)中,确实定义了lombok.version属性(当前版本为1.18.36),因此你的配置:

xml

<version>${lombok.version}</version>

完全可行的,Maven 会在构建时自动解析该属性。


💡 建议:显式定义属性(可选)

如果你希望明确控制版本,避免父 POM 升级带来的影响,可以在<properties>中显式声明:

xml

<properties> <lombok.version>1.18.36</lombok.version> </properties>

这样既保留了父 POM 的管理,又固定了当前项目使用的版本。

http://www.jsqmd.com/news/567279/

相关文章:

  • 4步解决RetroArch缩略图显示异常,恢复游戏库视觉体验
  • 2026新疆乌鲁木齐诚信靠谱的代理记账公司推荐 - 品牌排行榜
  • 别让大模型只陪你聊天,用 RAG + Structured Extraction 终结合同盲区
  • 如何利用Automatic_ticket_purchase实现演唱会门票的高效抢票
  • SQL 实战进阶:10 个经典企业级案例(附完整 SQL + 解析)
  • 免费开源AI绘画工具推荐:Z-Image-Turbo,照片级质量,消费级显卡友好
  • 查看本地镜像使用 nrm 工具管理(方便切换)
  • K8s CronJob并发策略选Allow还是Forbid?一次线上任务堆积事故复盘
  • 量化文明:贾子理论(Kucius Theory)CVC/WVC方程揭示可持续性密码
  • 【UE5.7.4 Lyra】L_Expanse 开放地图关卡
  • togeojson架构深度解析:KML/GPX到GeoJSON高性能转换实现原理
  • 全能英雄联盟助手:League-Toolkit高效游戏体验指南
  • 2026年3月除气机厂家推荐:移动式除气机、铝液除气机、铝合金除气机,非标定制快速交付与熔体净化保障之选 - 品牌企业推荐师(官方)
  • 突破网盘下载限制:直链工具全攻略
  • springboot+vue基于web的学生宿舍预订分配管理系统的设计与实现
  • OpCore Simplify技术突破:如何用智能适配重构开源系统定制效率
  • ESP32蓝牙小票打印机实战:从零到一的完整实现
  • 实战演练:基于快马平台复现网鼎杯WP中的Java反序列化漏洞攻击链
  • 从Linux到Windows:手把手教你用知攻善防靶场复现5种真实应急响应场景
  • 告别重复劳动:用快马ai生成linux高效运维自动化脚本
  • 2026年的具身智能:不再“讲故事”,而是拼“分数”?
  • 智能体开发:将LongCat-Image-Edit集成到AI智能体工作流
  • 3分钟高效掌握抖音视频批量下载专业解决方案
  • 如何彻底解决Windows热键冲突?这款工具让效率提升300%
  • MMC模块化多电平换流器Simulink仿真模型:N=10子模块的载波移相调制与多控制策略应用
  • 高端白酒市场的消费驱动力
  • douyin-downloader抖音下载器:短视频无水印批量获取解决方案
  • Java学习——String、StringBuffer、StringBuilder 的区别与适用场景
  • 如何快速打造个性化游戏体验?DOL汉化美化整合包使用指南
  • 如何通过res-downloader实现多平台网络资源高效捕获与管理?