我将项目导出为jar文件时遇到了一个大问题(在我的项目中使用weka)。我正在使用Eclipse。 我添加了 Java Build Path weka.jar ,我已经附加了 weka-src.jar ,在eclipse下测试我的分类器一切正常,所以我决定创建一个jar(因为我需要另一个程序使用它)。 首先,我创建了清单文件:
Manifest-Version: 1.0
Rsrc-Class-Path: ./ weka.jar weka-src.jar
Class-Path: .
Rsrc-Main-Class: start.Home
Main-Class: start.Home
程序的主要类是Home(在包开始内),而weka.jar和weka-src.jar在eclipse程序的/ src /目录中。 当我尝试执行创建的jar时,我会收到此输出:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: weka/classifiers/Classifier
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: weka.classifiers.Classifier
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)
... 7 more
我认为问题是CLASSPATH,所以我试图以这种方式解决它: 我用这个值创建了环境变量CLASSPATH:
C:\Users\tomma\Desktop\workspace Eclipse\AndroidPermissionsClassifier\src\weka.jar
C:\Users\tomma\Desktop\workspace Eclipse\AndroidPermissionsClassifier\src\weka-src.jar
但没有任何改变,有人可以帮助我吗?
答案 0 :(得分:0)
你是对的:类路径是问题所在。将它们添加到环境CLASSPATH时,是否从清单类路径中删除了这些项? (旁注:将源jar放在-sourcepath中,而不是类路径中。)