V3 Identity Authentication是否与JDK 1.6兼容?如果是,我应该使用哪个以及如何使用它?

时间:2017-07-25 01:33:03

标签: openstack jdk1.6 keystone openstack4j

我只是想知道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)

我知道有一个Jersy2JDK1.6连接器适用于Keystone V2,如:

org.pacesys
openstack4j-core
3.0.0


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

但就我的项目而言,它需要V3身份验证。

1 个答案:

答案 0 :(得分:0)

问题实际上是Java问题。您正在尝试在JDK 1.6平台上运行为JDK 1.8或更高版本构建的代码。那不行。 JDK 1.6 JVM无法理解该字节码的版本。

理论上,您可以尝试下载库及其依赖项的源代码,并使用JDK 1.6编译器/工具链构建它们。但是,这只有在库及其依赖项完全兼容Java 6时才有效;即,在源代码语法和标准Java SE API的使用方面。

在这种情况下,我认为这不太可行。根据{{​​3}}中的README.md文件:

  

要求

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

最佳解决方案是升级到Java 8. 2013年4月,Java 6已经过EOL。

有一句话:

  

“如果你陷入困境,最重要的事情就是停止挖掘。”

陷入Java 6的dev't项目陷入困境。