我试图通过Weka API使用libsvm。我已将weka-dev-3.7.6.jar和libsvm.jar添加到我的eclipse构建路径中。以下是加载libsvm库的代码
public static void main(String[] args) {
try {
WekaPackageManager.loadPackages(true);
AbstractClassifier classifier = ( AbstractClassifier ) Class.forName(
"weka.classifiers.functions.LibSVM" ).newInstance();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
System.err.println("error 1");
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
System.err.println("error 2");
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.err.println("error 3");
e.printStackTrace();
}
}
我收到以下错误
Refreshing GOE props...
Exception in thread "main" java.lang.UnsupportedClassVersionError: java_cup/runtime/SymbolFactory : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
我在构建路径上添加了java-cup-11b-runtime.jar。但是,错误仍然存在。
答案 0 :(得分:1)
您正在尝试使用不支持Java 8的JVM运行您的应用程序。
安装兼容Java 8的JRE(如果需要用于开发,则安装JDK)并使用附带的JVM运行应用程序。
以下是映射到Java版本的major.minor版本号:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
阅读here以获取维基百科的参考资料。