有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Faing在Ubuntu12.04上构建eucalyptus的困难

我将Ubuntu 12.04(精确)64位安装在MacBookPro操作系统的旁边,MacBookPro操作系统的处理器是Intel®Core™ i5-3210M CPU@2.50GHz×4。接下来的几天里,我试图通过以下guide安装eucalyptus 3.2.0

当我到达构建阶段时,由于以下问题,它失败了:

 BUILD FAILED
/home/asma/eucalyptus-3.2.0/clc/build.xml:111: The following error occurred while executing this line:
java.lang.UnsupportedClassVersionError: org/codehaus/groovy/ant/Groovy : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
    at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1124)
    at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1295)
    at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1351)
    at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1311)
    at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1064)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at org.apache.tools.ant.AntTypeDefinition.innerGetTypeClass(AntTypeDefinition.java:194)
    at org.apache.tools.ant.AntTypeDefinition.getTypeClass(AntTypeDefinition.java:168)
    at org.apache.tools.ant.AntTypeDefinition.icreate(AntTypeDefinition.java:215)
    at org.apache.tools.ant.AntTypeDefinition.create(AntTypeDefinition.java:206)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:286)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:264)
    at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:417)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
    at org.apache.tools.ant.Task.perform(Task.java:347)
    at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:398)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)

Total time: 0 seconds
make[1]: *** [build] Error 1
make[1]: Leaving directory `/home/asma/eucalyptus-3.2.0/clc'
make: *** [build] Error 2

当然,我搜索并搜索了Ff,但所有的解决方案都声明确保java和javac版本相同,因为当编译和运行的java版本冲突时,就会出现这个问题。我有相同的java和javac版本:

asma@asma-MacBookPro:~$ java -version
java version "1.6.0_31"
OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1ubuntu1~0.12.04.2)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
asma@asma-MacBookPro:~$ javac -version 
javac 1.6.0_31

以下是ant版本:

asma@asma-MacBookPro:~$ ant -version 
Apache Ant(TM) version 1.8.2 compiled on December 3 2011

现在我的Ubuntu上只安装了openjdk-6-jdk,我删除了java7。我还试图只使用openjdk-7-jdk,但构建仍然没有成功

这个错误的原因是什么?有什么想法或建议吗?我可以修改一下结构吗。xml


共 (1) 个答案

  1. # 1 楼答案

    在Eucalyptus的构建过程中,它将执行github的子模块签出。com/euaclyptus/eucalyptus cloud libs,其中包含从源代码构建所需的jar。在构建Eucalyptus的旧版本时,它并不总是为云LIB签出正确的标记/分支。如果您进入eucalyptus/clc/lib并执行git status,您应该能够看到哪个分支被签出。如果是#测试,那么构建将无法工作,因为自3.2.0以来,依赖关系已经发生了很大变化。我相信3.2.2有一个标签可以正常工作。由于构建过程对该文件夹进行签出的方式,它可能不像执行git checkout.那么容易。相反,您可能必须删除该文件夹并手动签出eucalyptus cloud libs存储库,这是一个大型ish下载

    顺便说一句,在Eucalyptus上工作时,我们使用Java7,所以你最好安装它而不是6

    如果您是从源代码构建,我建议您尝试从#测试构建,而不是使用较旧的版本。虽然Ubuntu不受支持,但我曾经构建过Eucalyptus,并在Ubuntu上运行它。该指南与其他指南一样好,但要做好进行黑客攻击的准备。我隐约记得在Makefiles中注释了一些单元测试,以使构建成功