2017-07-25 4 views
0

Je me demande simplement si la méthode OSFactory.builderV3() peut s'exécuter sur JDK 1.6.L'authentification d'identité V3 est-elle compatible avec JDK 1.6? Si oui, lequel et comment devrais-je m'en servir?

Il renvoie l'erreur suivante:

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) 

Je sais qu'il ya un connecteur Jersy2JDK1.6 fonctionne sur Keystone V2, comme:

org.pacesys 
openstack4j-core 
3.0.0 


org.pacesys.openstack4j.connectors 
openstack4j-jersey2-jdk1.6 
3.0.0 

mais en termes de mon projet, il faut Authentification V3.

+0

La réponse à votre question actuelle est «OUI». Mais je crois, tu voulais obtenir une autre réponse. Alors s'il vous plaît modifier votre question aussi bien que vous voulez obtenir une réponse. – Sergii

Répondre

0

Le problème est en fait un problème Java. Vous essayez d'exécuter du code qui a été créé pour JDK 1.8 ou version ultérieure sur une plate-forme JDK 1.6. Cela ne marchera pas. La JVM JDK 1.6 ne comprend pas cette version du bytecode.

En théorie, vous pouvez essayer de télécharger le code source pour la bibliothèque et ses dépendances, et de les construire avec un compilateur/chaîne d'outils JDK 1.6. Cependant, cela ne fonctionnera que si la bibliothèque et ses dépendances sont entièrement compatibles avec Java 6; c'est-à-dire à la fois en termes de syntaxe de code source ET d'utilisation des API Java SE standard.

Dans ce cas, je pense qu'il est hautement improbable que cela fonctionne. Selon le fichier README.md dans le OpenStack4j Github repo:

Requirements

  • OpenStack4j 3.0.X - Java 7 (JDK 8 preferred)
  • OpenStack4j 2.0.X - Java 7

La meilleure solution consiste à mettre à niveau vers Java 8. Java 6 a été EOL'ed en Avril 2013.

Il y a un dicton:

"The most important thing to do if you are in a hole is to stop digging."

Un projet dev't qui est bloqué sur Java 6 est dans un trou.