获取有关使用的应用程序库的信息

时间:2013-06-30 20:51:38

标签: java classpath

是否有机会获取有关我的Java应用程序中使用的库的信息?

示例:如果我在glassfish上部署我的应用程序,glassfish拥有自己的库,我的应用程序拥有自己的库。如果我使用较新版本的lib作为glassfish,我想测试/记录我的lib被使用。

1 个答案:

答案 0 :(得分:0)

反射API可让您找到有关加载到应用程序中的类的一些信息。例如,假设包含SomeClass的库是从.jar文件加载的,该文件包含您可以使用的版本信息:

Package libPackage = SomeClass.class.getPackage();
String libVersion = libPackage.getSpecificationVersion();

如果.jar文件不包含版本信息,您仍可以通过以下方式找到其名称:

URL classLocation = SomeClass.class.getProtectionDomain().getCodeSource().getLocation();