java - 在 Linux 上运行 WEKA

标签 java linux class weka

我已经下载并解压缩了以下 WEKA 版本 weka-3-4-19。这是在 linux 操作系统上。我希望通过命令行使用 WEKA,但是在执行

java weka.classifiers.tress.j48.J48

我收到以下错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: weka/classifiers/tress/j48/J48
Caused by: java.lang.ClassNotFoundException: weka.classifiers.tress.j48.J48
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: weka.classifiers.tress.j48.J48.  Program will exit.

有人可以帮我解决这个问题吗?谢谢。


编辑1:

关于尝试 java -jar weka.jar 命令

java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
    at java.awt.Window.<init>(Window.java:432)
    at java.awt.Frame.<init>(Frame.java:403)
    at javax.swing.JFrame.<init>(JFrame.java:202)
    at weka.gui.GUIChooser.<init>(GUIChooser.java:98)
    at weka.gui.GUIChooser.main(GUIChooser.java:285)

No X11 DISPLAY variable was set, but this program performed an operation which requires it.

编辑 2:

关于尝试 java.weka.classifiers.trees.J48

Exception in thread "main" java.lang.NoClassDefFoundError: weka/classifiers/tress/J48
Caused by: java.lang.ClassNotFoundException: weka.classifiers.tress.J48
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: weka.classifiers.tress.J48.  Program will exit.

编辑 3:

{cslinux2:~/weka-3-4-19} echo $CLASSPATH
/people/cs/j/jld082000/weka-3-4-19/weka.jar:
{cslinux2:~/weka-3-4-19} java weka.classifiers.trees.J48

Weka exception: No training file and no object input file given.

General options:

-t <name of training file>
    Sets training file.
-T <name of test file>
    Sets test file. If missing, a cross-validation will be performed on the training data.

最佳答案

这只是表示 weka.classifiers.tress.j48.J48类不在 classpath 中.你可以写java命令 -classpath切换或设置 CLASSPATH(永久)变量。另一种方法是使用 -jar按照@jberg 的指示切换。

编辑:

正如我所检查的(我从 that site 下载了 Weka 3-4-19),绝对没有 weka.classifiers.tress.j48.J48weka.jar 中上课包裹。可能您正在寻找:

java weka.classifiers.trees.J48

例如:

$ export CLASSPATH=/home/grzegorz/weka-3-4-19/weka.jar:.
$ echo $CLASSPATH 
/home/grzegorz/weka-3-4-19/weka.jar:.
$ java weka.classifiers.trees.J48

Weka exception: No training file and no object input file given.

General options:

-t <name of training file>
    Sets training file.
...

关于java - 在 Linux 上运行 WEKA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635710/

相关文章:

linux - 复制最近 14 天内修改过的文件

linux - 在 linux 中使用循环更改目录

asp.net - 为什么 Visual Studio 给我的 App_Code 类没有定义类型?

java - 具有自定义行布局的 radio 警报对话框

java - 解析编码为 UTF-8 和 UTF-16 的 XML 文件时出错

java - Android Retrofit 参数化@Headers

linux - 如何在CentOS linux上安装特定版本的jdk

java - 有错误() : how to ignoring validation of specific input

class - 在我的 JSP 中遍历对象的数组列表时出现 HTTP 500 错误

Java 时间显示意外结果?