跳至主要內容

SpringBoot 中yml文件获取pom文件中的版本号

Jin小于 1 分钟

SpringBoot 中yml文件获取pom文件中的版本号

1、yml配置

system:
  version: @project.version@

如果你是application.properties,你可以通过下面的方式来接收版本号:

application.version = ${project.version}

info.groupId: @project.groupId@
info.artifactId: @project.artifactId@
info.version: @project.version@

如果是application.yaml,你可以通过下面的方式来接收版本号:

application:
  version: '@project.version@'

2、pom.xml 配置

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <delimiters>@</delimiters>
                <useDefaultDelimiters>false</useDefaultDelimiters>
            </configuration>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

3、Java 获取版本号

@Value("${system.version}")
private String version;

4、报错

ERROR org.springframework.boot.SpringApplication -- Application run failed
org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token
found character '@' that cannot start any token. (Do not use @ for indentation)

解决

mvn clean 后重新启动
将配置加上单引号或双引号 @profileActive@ => '@profileActive@'

使用

info:
  name: "@project.artifactId@"
  version: '@project.version@'
贡献者: Jin