11
我想知道是否可以在運行時檢索類從哪個jar的版本號?在運行時獲取jar版本
我知道它有可能找到罐子從中類來自:
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
但對於一個版本?
(假設其沒有在文件名:))
我想知道是否可以在運行時檢索類從哪個jar的版本號?在運行時獲取jar版本
我知道它有可能找到罐子從中類來自:
MyClass.class.getProtectionDomain().getCodeSource().getLocation().getPath();
但對於一個版本?
(假設其沒有在文件名:))
import javax.mail.internet.InternetAddress;
/**
Display package name and version information for javax.mail.internet.
*/
public final class ReadVersion {
public static void main(String... aArgs){
ReadVersion readVersion = new ReadVersion();
readVersion.readVersionInfoInManifest();
}
public void readVersionInfoInManifest(){
InternetAddress object = new InternetAddress();
Package objPackage = object.getClass().getPackage();
//examine the package object
String name = objPackage.getSpecificationTitle();
String version = objPackage.getSpecificationVersion();
//some jars may use 'Implementation Version' entries in the manifest instead
System.out.println("Package name: " + name);
System.out.println("Package version: " + version);
}
}
試試這個,它可能會有所幫助:
String s = new String();
System.out.println(s.getClass().getPackage().getSpecificationVersion());
System.out.println(s.getClass().getPackage().getImplementationVersion());
輸出:
1.7
1.7.0_25
罐子沒有版本。 – 2014-02-12 09:52:20
是的,你是對的,版本屬於圖書館版本,但在俚語它是'採取jar版本x.y.z' – 1ac0