Совместима ли идентификация V3 с JDK 1.6? Если да, что и как мне использовать?
Мне просто интересно, может ли метод OSFactory.builderV3() работать на JDK 1.6.
Возвращает следующую ошибку:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/openstack4j/openstack/OSFactory : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at Test.main(Test.java:9)
Я знаю, что на Keystone V2 работает разъем Jersy2JDK1.6, например:
org.pacesys
openstack4j-core
3.0.0
org.pacesys.openstack4j.connectors
openstack4j-jersey2-jdk1.6
3.0.0
но с точки зрения моего проекта, требуется проверка подлинности V3.
1 ответ
Проблема на самом деле проблема Java. Вы пытаетесь запустить код, созданный для JDK 1.8 или новее, на платформе JDK 1.6. Это не сработает. JVK JDK 1.6 не понимает эту версию байт-кода.
Теоретически, вы можете попробовать загрузить исходный код библиотеки и ее зависимостей и собрать их с помощью компилятора / цепочки инструментов JDK 1.6. ОДНАКО, это будет работать, только если библиотека и ее зависимости полностью совместимы с Java 6; то есть как с точки зрения синтаксиса исходного кода, так и использования стандартных API Java SE.
В этом случае я думаю, что это вряд ли сработает. Согласно README.md
файл в репозитории OpenStack4j Github:
Требования
- OpenStack4j 3.0.X - Java 7 (предпочтительно JDK 8)
- OpenStack4j 2.0.X - Java 7
Лучшим решением является обновление до Java 8. Java 6 была выпущена в апреле 2013 года.
Есть поговорка:
"Самое важное, что нужно сделать, если вы находитесь в яме, - это перестать копать".
Проект dev't, который застрял на Java 6, находится в дыре.