(当然我在Eclipse的构建路径中导入了JFeatureLib提供的jar文件)
所以我在项目的链接中使用了代码,并编写了一些代码来调用它.这是我创建一个Frame的代码,打开图片并在该链接上调用Moravec算法:
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
public class Compare{
public Compare(){
JFrame frame = new JFrame("Find corners in picture");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = (JPanel)frame.getContentPane();
JLabel label = new JLabel();
label.setIcon(new ImageIcon("house.jpg"));
panel.add(label);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}
public static void main (String[] args){
SwingUtilities.invokeLater(new Runnable(){
public void run(){
new Compare();
}
});
Moravec picture = new Moravec();
}
}
关键是它在线上返回一个错误
Moravec picture = new Moravec();
这个错误是这样的:
Exception in thread "main" java.lang.UnsupportedClassVersionError: de/lmu/ifi/dbs/jfeaturelib/pointDetector/PointDetector : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at Compare.main(Compare.java:32)
你能给我一些建议吗?
非常感谢!
解决方法:
不支持的major.minor版本51.0
您正尝试在较旧的Java版本中运行使用较新Java版本编译的jar.消息建议使用JDK7编译de / lmu / ifi / dbs / jfeaturelib / pointDetector / PointDetector,但是您尝试使用旧版本运行它(我猜Java 6).
执行java -version并查看是否是这种情况.如果是这样,请在您的系统上找到JDK7并使用它来运行您的程序.
标签:java,classloader
来源: https://codeday.me/bug/20190728/1565644.html