Jaws Wordnet的编译问题

时间:2014-09-05 00:19:10

标签: java class compilation wordnet jaws-wordnet

我试图将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 -cp jaws.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 ...

你可以帮帮我吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

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

这样做:

  

右键点击项目 - &gt;构建路径 - &gt;配置构建路径 - &gt;添加外部JAR - &gt;选择JAWS-version.jar

     

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

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