【问题标题】:Compilation probleme for Jaws WordnetJaws Wordnet 的编译问题
【发布时间】:2014-09-05 00:19:10
【问题描述】:

我正在尝试将 JAWS Api 用于 Wordnet,并且我想使用此代码进行测试:

import edu.smu.tspell.wordnet.*;

public class Wordnettest {

    public static void main(String[] args) {

            System.setProperty("wordnet.database.dir", "/var/www/toto/Wordnet/WordNet-3.0/dict/");
             WordNetDatabase database = WordNetDatabase.getFileInstance();
        NounSynset nounSynset;
        Synset[] synsets = database.getSynsets("bus", SynsetType.NOUN);
        System.out.println("Le Mot Bus");
        for (int i = 0; i < synsets.length; i++) {
            nounSynset = (NounSynset) synsets[i];
            System.out.println("Définition " + i + " : "
                    + nounSynset.getDefinition());
            System.out.println("Synonymes du Mot : ");
            for (String syn : nounSynset.getWordForms())
                System.out.println("    " + syn);

        }
}

但是当我编译时,使用:javac -cpjaws.jar Wordnettest.java 我的 Wordnettest.class 在这里,但是当我启动它时:java Wordnettest 我有这个:

Exception in thread "main" java.lang.NoClassDefFoundError: edu/smu/tspell/wordnet/WordNetDatabase
        at Wordnettest.main(Wordnettest.java:11)
Caused by: java.lang.ClassNotFoundException: edu.smu.tspell.wordnet.WordNetDatabase
        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:323)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
        ... 1 more

我不明白为什么,因为我用 setProperty 设置了 dic...

你能帮帮我吗? 谢谢!

【问题讨论】:

  • 这是我对类似问题的回答,这将帮助您stackoverflow.com/questions/24057041/… 您需要将该类添加到 classPath。我猜 Wordnet 是一些外部库?如果您有 jar,只需将其正确添加到类路径.简单的方法就是让IDE为你做。
  • 感谢您的回答!问题是,Wordnet/Dict 不是罐子。它是一个数据库,我不太了解他们的文档。lyle.smu.edu/~tspell/jaws/index.html 我准确地说,我在 Ubuntu 上。Linux 没有解释:/
  • 我不确定我是否正在查看 corect lib lyle.smu.edu/~tspell/jaws 页面底部显示您在此处拥有的代码,您可以下载 docs/src/bin .. 也可以下载 jar 文件。你是什么想法您在此处发布的 using?Exception 表明您对类有问题,它不在 classPath 中.. 这里没有任何其他问题可见。
  • 是的,我使用他们的演示代码来测试编译。我已经有 jar 文件,但是,我正在尝试使用:java -classpathjaws.jar -Dwordnet.database.dir =WordNet-3.0/dict/ Wordnettest 而且也没有用..
  • 路径可能有问题(位置不正确)?-我怀疑命令在 linux/windows 上有所不同。Bud 我没有使用 linux 的经验。如果我是你,我只需要下载他们的 lib/take源代码,在ide中重新编译。不易出错。

标签: java class compilation wordnet jaws-wordnet


【解决方案1】:

如果您正在使用该 jar,则必须将该 jar 添加到项目的 classPath 以及服务器中。

这样做:

右键项目->构建路径->配置构建路径->添加外部JAR->选择JAWS-version.jar

运行 -> 运行配置 -> 选择您的服务器 -> 类路径选项卡 -> 单击用户条目 -> 添加外部 JAR -> 选择 JAWS-version.jar

我在遇到问题时阅读的所有答案都没有提到服务器的运行配置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 2014-10-03
    • 1970-01-01
    相关资源
    最近更新 更多