#java #versioning
#java #управление версиями
Вопрос:
В моем проекте я хочу найти версию сторонних библиотек. У меня есть только файл jar, и некоторые из них содержат файл манифеста с номером версии, а другие — нет. Есть ли другой способ, кроме манифеста?
Ответ №1:
Общий метод заключается в том, чтобы найти место, в котором есть несколько версий jar, и сравнить jar с вашей версией, используя размер файла и контрольные суммы.
Итак, перейдите в Maven Search (хорошее место для начала) и найдите свою библиотеку. Затем просмотрите версии, которые вы там найдете, и сравните размеры файлов с тем, который у вас есть. Наконец, сравните контрольные суммы с вашим jar или просто используйте двоичное сравнение. Если этого нет в maven, то поиск в Интернете является последним средством.
Это довольно утомительно, но в большинстве случаев это работает. Но не всегда возможно узнать версию для данного jar, потому что она может больше не существовать.
Ответ №2:
Нет. Вам нужно будет посмотреть даты компиляции файлов .class и связать это вручную с датами выпуска в соответствии с тем, что они публикуют об этом.
Ответ №3:
Как вы заметили, единственным полустандартным механизмом было бы включение информации о версии в MANIFEST.MF. И, конечно же, многие банки проектов имеют версию в имени файла. В противном случае нет другого общего способа определить или определить «версию» библиотеки.