1

我将使用槌冷杉主题建模,我正在使用 linux。我已经安装了mallet(但不是ant)并且我的系统中有java。所以当我想对mallet使用命令时它不起作用。唯一有效的命令是:bin/mallet它给了我一个命令列表。但是如果我输入: bin/mallet import-dir --help 它给了我这个错误:

    Exception in thread "main" java.lang.NoClassDefFoundError: bsh/Interpreter
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    at cc.mallet.util.CommandOption.<init>(CommandOption.java:62)
    at cc.mallet.util.CommandOption$SpacedStrings.<init>(CommandOption.java:552)
    at cc.mallet.classify.tui.Text2Vectors.<clinit>(Text2Vectors.java:30)
  Caused by: java.lang.ClassNotFoundException: bsh.Interpreter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
    ... 14 more
Could not find the main class: cc.mallet.classify.tui.Text2Vectors. Program will exit.

任何帮助将非常感激。

4

2 回答 2

2

首先,您说您输入了bin/mallet import-dir --help. 它是一个可执行文件,因此您应该键入./bin/mallet import-dir --help. 如果是错字,请忽略这部分。

另外,mallet 2.0.8RC2 也有同样的问题。它对所有命令都抛出了异常,甚至对 --help 也是如此。我下载了 mallet-2.0.7 并再次使用 ant 构建它。现在它起作用了。

另外,请尝试再次下载该工具。

于 2015-08-02T04:46:45.703 回答
-1

看来您缺少 bsh.jar。通常 MALLET 包有一套完整的 jar 文件,bsh.jar 应该是其中之一,在 .\mallet-2.0.7\lib 目录下。

如果您在那里找不到它,您可以再次从 MALLET 网站下载该软件包或在 Google 上搜索它。但是 jar 文件的版本很重要,请确保您使用的是正确的版本。

于 2014-02-13T06:01:21.427 回答