Ответ
Версию CGLIB можно определить несколькими способами:
1. Через файлы сборки (рекомендуется)
- Maven: Проверьте
pom.xml:<dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>3.3.0</version> <!-- Версия указана здесь --> </dependency> - Gradle: Проверьте
build.gradle:implementation 'cglib:cglib:3.3.0'
2. Через код во время выполнения CGLIB не предоставляет публичного API для версии, но можно попробовать получить её из манифеста JAR-файла:
Package pkg = net.sf.cglib.proxy.Enhancer.class.getPackage();
String version = pkg.getImplementationVersion(); // Может вернуть null
System.out.println("CGLIB version: " + version);
3. Через анализ classpath
Найдите JAR-файл cglib в classpath вашего приложения (например, в папке target/ или build/libs/) и проверьте его имя или содержимое META-INF/MANIFEST.MF.
Почему это важно? Spring Framework и Hibernate используют CGLIB для создания динамических прокси-классов. Знание версии помогает при диагностике проблем совместимости.