1

我正在尝试将 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...

你可以帮帮我吗 ?谢谢!

4

1 回答 1

0

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

为此:

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

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

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

于 2017-02-14T12:15:24.707 回答