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

相关推荐
步行cgn1 分钟前
Spring Cache 详解:Spring 框架的缓存抽象
后端
eralong2 分钟前
Java IO 与 NIO
java·后端
量化小c4 分钟前
从数据到策略:QuantDash + DuckDB 搭建 5 分钟 K 线本地量化数据仓库
后端·github
马可家的菠萝6 分钟前
AI Agent Demo 10 分钟就能跑,真正难的是让它 200 个场景都别乱来
前端·后端·aigc
菜鸟谢11 分钟前
Rust 数据类型 完整超详细知识点
后端
菜鸟谢12 分钟前
Rust let / static / const 完整详解
后端
超超不吵吵12 分钟前
Java AI转型实战(三):第一次调用大模型API,拿到AI回复
后端
Jesse_EC16 分钟前
我给消息推送加了 Publisher Confirm,然后亲手引入了一个竞态
java
名字还没想好☜16 分钟前
Go 1.23 range-over-func 迭代器实战:自定义可迭代类型、提前退出与惰性求值
开发语言·后端·golang·go·迭代器
S3rein16 分钟前
JAVA多线程手撕
java·多线程