【发布时间】: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