【发布时间】:2016-05-15 05:58:12
【问题描述】:
我在将我的项目导出为 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(在包start里面),而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
但没有任何改变,有人可以帮帮我吗?
【问题讨论】:
标签: java eclipse jar classpath weka