是否有机会获取有关我的Java应用程序中使用的库的信息?
示例:如果我在glassfish上部署我的应用程序,glassfish拥有自己的库,我的应用程序拥有自己的库。如果我使用较新版本的lib作为glassfish,我想测试/记录我的lib被使用。
答案 0 :(得分:0)
反射API可让您找到有关加载到应用程序中的类的一些信息。例如,假设包含SomeClass
的库是从.jar文件加载的,该文件包含您可以使用的版本信息:
Package libPackage = SomeClass.class.getPackage();
String libVersion = libPackage.getSpecificationVersion();
如果.jar文件不包含版本信息,您仍可以通过以下方式找到其名称:
URL classLocation = SomeClass.class.getProtectionDomain().getCodeSource().getLocation();