Spring Boot 项目中读取 POM 文件中的版本

Spring Boot 项目中读取 POM 文件中的版本

使用 Maven 资源过滤

1. 建立一读取application.yml配置信息的类

@Component
public class VersionReader {
    
    @Value("${app.version}")
    private String version;
    
    public String getVersion() {
        return version;
    }
}

2. 在 application.properties 或 application.yml:

# application.properties
app.version=@project.version@
app.name=@project.name@
app.description=@project.description@
# application.yml
app:
  version: @project.version@
  name: @project.name@

3. 需要确保 pom.xml 启用了资源过滤:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

4. 此方法可以在springboot项目开发和部署的时候都能正确读到pom.xml中的版本信息。

# Spring Boot 项目中读取 POM 文件中的版本

## **使用 Maven 资源过滤**

### 1. 建立一读取application.yml配置信息的类

```java
@Component
public class VersionReader {
    
    @Value("${app.version}")
    private String version;
    
    public String getVersion() {
        return version;
    }
}
```

### 2.  在 [application.properties](http://application.properties) 或 application.yml:

```yml
# application.properties
app.version=@project.version@
app.name=@project.name@
app.description=@project.description@
```

```yml
# application.yml
app:
  version: @project.version@
  name: @project.name@
```

### 3. 需要确保 pom.xml 启用了资源过滤:

```xml
<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>
```

### 4. 此方法可以在springboot项目开发和部署的时候都能正确读到pom.xml中的版本信息。