spring boot 启动配置name: @project.artifactId@报错

在 Maven 项目中,使用 @project.artifactId@ 这样的占位符通常用于在构建时由 Maven 替换为实际的项目属性。然而,这种替换只有在启用了 Maven 资源过滤的情况下才能正确工作。

解决 mvn compile

为什么 mvn compile 可以解决问题:

  1. 占位符替换 :运行 mvn compile 时,Maven 会处理源代码和资源文件中的占位符,替换成实际的项目属性值。这意味着 @project.artifactId@ 会被替换为你在 pom.xml 文件中定义的 artifactId。

  2. 构建过程mvn compile 触发整个构建生命周期的各个阶段,包括初始化和验证阶段,确保所有资源都准备好并正确配置。

  3. 资源过滤 :如果你在 pom.xml 中启用了资源过滤(如前面提到的),Maven 会在编译过程中处理 src/main/resources 目录下的文件,替换其中的占位符。

相关推荐
han_hanker16 小时前
这里使用 extends HashMap<String, Object> 和 类本身定义变量的优缺点
java·开发语言
careathers16 小时前
【JavaSE语法】面向对象初步认识
java·面向对象
coding随想16 小时前
掌控选区的终极武器:getSelection API的深度解析与实战应用
java·前端·javascript
嵌入式小能手16 小时前
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
java·前端·学习
LucianaiB16 小时前
从 0 到 1 玩转 N8N——初识 N8N(入门必看)
后端
ChinaRainbowSea17 小时前
github 仓库主页美化定制
java·后端·github
程序猿小蒜17 小时前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring
程序员-周李斌17 小时前
ConcurrentHashMap 源码分析
java·开发语言·哈希算法·散列表·开源软件
ChrisitineTX17 小时前
凌晨突发Java并发问题:synchronized锁升级导致接口超时,排查过程全记录
java·数据库·oracle
zzhongcy18 小时前
Java: HashMap 和 ConcurrentHashMap的区别
java·开发语言