gpt4 book ai didi

java - 我可以在运行时确定 Java 库的版本吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:44:17 25 4
gpt4 key购买 nike

是否可以在运行时确定第三方 Java 库的版本?

最佳答案

Third party Java library 是指一个Jar 文件,Jar 文件的manifest 有专门指定库版本的属性。

注意:并非所有 Jar 文件都实际指定了版本,即使它们应该也是如此。

读取该信息的内置 Java 方法是使用反射,但您需要知道库中的一些类才能查询。哪个类/接口(interface)并不重要。

示例

public class Test {
public static void main(String[] args) {
printVersion(org.apache.http.client.HttpClient.class);
printVersion(com.fasterxml.jackson.databind.ObjectMapper.class);
printVersion(com.google.gson.Gson.class);
}
public static void printVersion(Class<?> clazz) {
Package p = clazz.getPackage();
System.out.printf("%s%n Title: %s%n Version: %s%n Vendor: %s%n",
clazz.getName(),
p.getImplementationTitle(),
p.getImplementationVersion(),
p.getImplementationVendor());
}
}

输出

org.apache.http.client.HttpClient
Title: HttpComponents Apache HttpClient
Version: 4.3.6
Vendor: The Apache Software Foundation
com.fasterxml.jackson.databind.ObjectMapper
Title: jackson-databind
Version: 2.7.0
Vendor: FasterXML
com.google.gson.Gson
Title: null
Version: null
Vendor: null

关于java - 我可以在运行时确定 Java 库的版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49889510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com