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 目录下的文件,替换其中的占位符。

相关推荐
大哥4309几秒前
on-failure 不扛重启:一次 Docker restart 策略的反直觉排查
后端
十年Java程序媛8 分钟前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
房西杭13 分钟前
GM指令:仓库扩容、清空仓库(行会仓库 + 个人仓库,Lua + proto + GMMgr注册)
后端
大哥430913 分钟前
不报错 ≠ 生效:三类"静默失效"缺陷与它们的共同指纹
后端
房西杭15 分钟前
整理背包 SortBag 完整实现逻辑
后端
Marcus学原理17 分钟前
Playwright 入门:让浏览器自动完成重复操作
后端
弦儿18 分钟前
后端 Web 实战:部门管理模块全流程(前后端分离 + RESTful + 三层架构 + 日志)
后端·restful
3378018 分钟前
5分钟搞懂Spring的IoC和Bean管理
java
学到老活到老19 分钟前
类已经加载了,为什么静态代码还没执行?
java·jvm
学到老活到老20 分钟前
写了 new,就一定会在堆上分配对象吗?
java·jvm