Если у вас есть доступ к самому файлу jar, вы сможете прочитать файл jar с помощью пакета java.util.jar
, затем получить ZipEntry
для файла манифеста и использовать getTime()
для получения последнего времени обновления.
JarFile jf = new JarFile("myfile.jar");
ZipEntry manifest = jf.getEntry("META-INF/MANIFEST.MF");
long manifestTime = manifest.getTime(); //in standard millis
Если вам нужно разобраться с конкретным классом, то этот код может оказаться полезным;
String rn = this.getClass().getName().replace('.', '/') + ".class";
String path = getClass().getClassLoader().getResource(rn).getPath();
String jarFile = path.substring(0, path.indexOf("!"));
Тогда jarFile
будет содержать путь к вашей банке.,Обратите внимание, что если класс не загружен из файла jar, третья строка не будет выполнена, так как path.indexOf
вернет -1.