在 Maven 项目中,使用 @project.artifactId@
这样的占位符通常用于在构建时由 Maven 替换为实际的项目属性。然而,这种替换只有在启用了 Maven 资源过滤的情况下才能正确工作。
解决 mvn compile
为什么 mvn compile
可以解决问题:
-
占位符替换 :运行
mvn compile
时,Maven 会处理源代码和资源文件中的占位符,替换成实际的项目属性值。这意味着@project.artifactId@
会被替换为你在pom.xml
文件中定义的 artifactId。 -
构建过程 :
mvn compile
触发整个构建生命周期的各个阶段,包括初始化和验证阶段,确保所有资源都准备好并正确配置。 -
资源过滤 :如果你在
pom.xml
中启用了资源过滤(如前面提到的),Maven 会在编译过程中处理src/main/resources
目录下的文件,替换其中的占位符。