为什么application.yml 读取不到 @artifactId@
时间: 2023-12-27 22:04:23 浏览: 44
@artifactId@ 是 Maven 中的占位符,用于在生成的项目中替换成实际的项目名称。application.yml 文件是在项目中使用的配置文件,它不会被 Maven 处理,因此无法识别 @artifactId@ 占位符。如果你想在 application.yml 文件中使用实际的项目名称,可以手动替换该占位符。或者,你可以考虑使用 Spring Boot 的属性占位符,在 application.yml 文件中使用 ${spring.application.name} 来代替 @artifactId@。
相关问题
springboot 项目中 application.yml 文件 怎么读取 pom.xml 的 artifactId
在 Spring Boot 项目中,可以通过在 `application.yml` 文件中使用 `${}` 标记来读取 `pom.xml` 文件中的 `artifactId`。具体地,可以使用 `${project.artifactId}` 来引用当前项目的 `artifactId`。
例如,假设 `pom.xml` 文件中的 `artifactId` 为 `my-project`,则可以在 `application.yml` 文件中使用如下语句来读取该值:
```yaml
my-app:
name: ${project.artifactId}
```
在上面的示例中,`${project.artifactId}` 会被替换为 `my-project`,`my-app.name` 的值也就成为了 `my-project`。这样就可以在应用程序中使用 `my-app.name` 属性来获取当前项目的 `artifactId` 值了。
在 application.yml 文件中使用 占位符读取项目名称
在 Spring Boot 中,可以通过使用属性占位符来读取项目名称。在 application.yml 文件中,可以使用 `${spring.application.name}` 来代替 @artifactId@,这样就可以读取实际的项目名称了。例如:
```
server:
port: 8080
spring:
application:
name: ${spring.application.name} # 使用属性占位符读取项目名称
logging:
level:
root: INFO
```
这个例子中,我们使用 `${spring.application.name}` 代替了 @artifactId@,并将 logging.level.root 设置为 INFO。当项目启动时,Spring Boot 会自动将 `${spring.application.name}` 替换为实际的项目名称。