错误 - 运行JGraphX Hello World示例

时间:2015-03-09 11:15:20

标签: java exception jgraphx

当我在JGraphX包中运行HelloWorld.java示例时,我收到以下错误消息。

  

线程中的异常" main" java.lang.UnsupportedClassVersionError:JVMCFRE003糟糕的主要版本; class = com / mxgraph / swing / mxGraphComponent,offset = 6       at java.lang.ClassLoader.defineClassImpl(Native Method)       at java.lang.ClassLoader.defineClass(ClassLoader.java:275)       at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:69)       at java.net.URLClassLoader.defineClass(URLClassLoader.java:540)       at java.net.URLClassLoader.defineClass(URLClassLoader.java:451)       在java.net.URLClassLoader.access $ 300(URLClassLoader.java:79)       at java.net.URLClassLoader $ ClassFinder.run(URLClassLoader.java:1038)       在java.security.AccessController.doPrivileged(AccessController.java:284)       在java.net.URLClassLoader.findClass(URLClassLoader.java:429)       at java.lang.ClassLoader.loadClass(ClassLoader.java:660)       at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:358)       at java.lang.ClassLoader.loadClass(ClassLoader.java:626)       at java.lang.J9VMInternals.verifyImpl(Native Method)       at java.lang.J9VMInternals.verify(J9VMInternals.java:72)       在java.lang.J9VMInternals.initialize(J9VMInternals.java:134)

源代码HelloWorld.java

package com.test.jgraphxdemo;

import javax.swing.JFrame;

import com.mxgraph.swing.mxGraphComponent;
import com.mxgraph.view.mxGraph;

public class HelloWorld extends JFrame
{

/**
 * 
 */
private static final long serialVersionUID = -2707712944901661771L;

public HelloWorld()
{
    super("Hello, World!");

    mxGraph graph = new mxGraph();
    Object parent = graph.getDefaultParent();

    graph.getModel().beginUpdate();
    try
    {
        Object v1 = graph.insertVertex(parent, null, "Hello", 20, 20, 80,
                30);
        Object v2 = graph.insertVertex(parent, null, "World!", 240, 150,
                80, 30);
        graph.insertEdge(parent, null, "Edge", v1, v2);
    }
    finally
    {
        graph.getModel().endUpdate();
    }

    mxGraphComponent graphComponent = new mxGraphComponent(graph);
    getContentPane().add(graphComponent);
}

public static void main(String[] args)
{
    HelloWorld frame = new HelloWorld();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400, 320);
    frame.setVisible(true);
}

}

我正在使用Eclipse和 Java SE 6

当我将jdk变为7时效果很好。但是根据jGraphx项目文档here,它应该支持编译器版本1.5及更高版本。

<properties>
   <maven.compiler.source>1.5</maven.compiler.source>
   <maven.compiler.target>1.5</maven.compiler.target>
   <maven.compiler.compilerVersion>1.5</maven.compiler.compilerVersion>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

我现在完全陷入混乱。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

默认情况下,库是使用JDK 7构建的。如果您想要支持早期的Java版本,只需使用适当的合规性标志重建库。