0

I get error message below when I run the HelloWorld.java example, out of JGraphX package.

Exception in thread "main" java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; 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) at java.net.URLClassLoader.access$300(URLClassLoader.java:79) at java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1038) at java.security.AccessController.doPrivileged(AccessController.java:284) at 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) at java.lang.J9VMInternals.initialize(J9VMInternals.java:134)

source code 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);
}

}

I am using Eclipse and Java SE 6.

And it works well when i turn my jdk to 7. But According to jGraphx project doc here, it should support compiler version 1.5 and above.

<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>

I am totally in a mess now. Please help.Thanks a lot.

JaydenLi
  • 1
  • 1

1 Answers1

0

The library is built with JDK 7 by default. If you want support for an earlier Java version, just rebuild the library with the appropriate compliance flags.

Frodo Baggins
  • 8,290
  • 6
  • 45
  • 55