当我从 JGraphX 包中运行 HelloWorld.java 示例时,我收到以下错误消息。
线程“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) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:540) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:451) 在 java.net.URLClassLoader.access$300(URLClassLoader.java:79 ) 在 java.net.URLClassLoader$ClassFinder.run(URLClassLoader.java:1038) 在 java.security.AccessController.doPrivileged(AccessController.java:284) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:429) 在 java .lang.ClassLoader.loadClass(ClassLoader.java:
源代码 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>
我现在完全一团糟。请帮忙。非常感谢。