98-Hands-on

1. 动态获取revision

1. pom.properties内容及路径

version=1.0.0-SNAPSHOT
groupId=com.listao
artifactId=listao-boot
MmVQTzVMeEx1WnkwSExzVWtHLzJZTk9ENVJpR2xiTUU1cTNkcHIvUk53PT0=

1. hutool_props

hutool地址open in new window

image-20230911105155633

2. code

  • 用相对路径
/**
 * 查询版本
 */
@PostMapping("/edition")
public String edition() {
    return new Props("META-INF/maven/com.listao/spring_boot/pom.properties").getProperty("version");
}

2. MANIFEST.MF内容

Manifest-Version: 1.0
Created-By: Maven Archiver 3.4.0
Build-Jdk-Spec: 17
Implementation-Title: spring_boot
Implementation-Version: 1.0-SNAPSHOT
Main-Class: org.springframework.boot.loader.JarLauncher
Start-Class: com.listao.spring_boot.Application
Spring-Boot-Version: 2.2.2.RELEASE
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/

3. @revision@

info:
	project: spring_boot
	version: @revision@
	author: listao
	description: boot_demo
@Component
@ConfigurationProperties(prefix = "info")
@Data
public class ArtifactInfo {
    private String project;
    private String version;
    private String author;
    private String description;
}