public class MavenUtils {
private MavenUtils() {
}
/**
* 获取maven的项目版本号,注意:在IDE中调试获取不到,在打包为jar运行时能获取到。
* @return 项目版本号
*/
public static synchronized String getVersion() {
String version = null;
try {
Properties p = new Properties();
//此处需要改成自己实际的路径
InputStream is = MavenUtils.class.getResourceAsStream("/META-INF/maven/groupId组织名/artifactId项目名/pom.properties");
if (is != null) {
p.load(is);
version = p.getProperty("version", null);
}
} catch (Exception e) {
// ignore
}
if (version == null) {
Package aPackage = MavenUtils.class.getPackage();
if (aPackage != null) {
version = aPackage.getImplementationVersion();
if (version == null) {
version = aPackage.getSpecificationVersion();
}
}
}
return version;
}
}
注意:代码示例中的maven路径需要根据自己实际情况修改。