Как узнать версию сторонних библиотек?

#java #versioning

#java #управление версиями

Вопрос:

В моем проекте я хочу найти версию сторонних библиотек. У меня есть только файл jar, и некоторые из них содержат файл манифеста с номером версии, а другие — нет. Есть ли другой способ, кроме манифеста?

Ответ №1:

Общий метод заключается в том, чтобы найти место, в котором есть несколько версий jar, и сравнить jar с вашей версией, используя размер файла и контрольные суммы.

Итак, перейдите в Maven Search (хорошее место для начала) и найдите свою библиотеку. Затем просмотрите версии, которые вы там найдете, и сравните размеры файлов с тем, который у вас есть. Наконец, сравните контрольные суммы с вашим jar или просто используйте двоичное сравнение. Если этого нет в maven, то поиск в Интернете является последним средством.

Это довольно утомительно, но в большинстве случаев это работает. Но не всегда возможно узнать версию для данного jar, потому что она может больше не существовать.

Ответ №2:

Нет. Вам нужно будет посмотреть даты компиляции файлов .class и связать это вручную с датами выпуска в соответствии с тем, что они публикуют об этом.

Ответ №3:

Как вы заметили, единственным полустандартным механизмом было бы включение информации о версии в MANIFEST.MF. И, конечно же, многие банки проектов имеют версию в имени файла. В противном случае нет другого общего способа определить или определить «версию» библиотеки.