【问题标题】:Exception in thread "main" java.lang.NoClassDefFoundError: edu/stanford/nlp/time/SUTimeMain线程“主”java.lang.NoClassDefFoundError 中的异常:edu/stanford/nlp/time/SUTimeMain
【发布时间】:2013-12-15 14:00:39
【问题描述】:

当我运行以下命令时:

java -Dpos.model=edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger -cp stanford-corenlp-2012-07-06.jar:stanford-corenlp-2012-07-09models.jar:xom.jar:joda-time.jar -Xmx3g edu.stanford.nlp.time.SUTimeMain -in.type TEXTFILE -date <YYYY-MM-dd> -i <input.txt> -o <output file>

我收到以下错误:

    entException in thread "main" java.lang.NoClassDefFoundError: edu/stanford/nlp/time/SUTimeMain
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.time.SUTimeMain
    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)
Could not find the main class: edu.stanford.nlp.time.SUTimeMain. Program will exit.

但是当我运行这个命令时:

java -cp stanford-corenlp-3.3.0.jar:stanford-corenlp-3.3.0-models.jar:xom.jar:joda-time.jar:jollyday.jar -Xmx3g edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref -file input.txt

我没有收到任何错误。

我的 stanford-corenlp-3.3.0.jar 文件包含 edu/stanford/nlp/pipeline/StanfordCoreNLP 以及 edu/stanford/nlp/time/SUTimeMain。

那么为什么一个命令运行而另一个不运行。 提前致谢

【问题讨论】:

  • 你解决了吗?

标签: java exception jar


【解决方案1】:

您在命令中引用了不同的 JAR 文件。

java
-Dpos.model=edu/stanford/nlp/models/pos-tagger/english-left3words/english-left3words-distsim.tagger
-cp stanford-corenlp-2012-07-06.jar:stanford-corenlp-2012-07-09models.jar:xom.jar:joda-time.jar
-Xmx3g edu.stanford.nlp.time.SUTimeMain
-in.type TEXTFILE
-date <YYYY-MM-dd>
-i <input.txt>
-o <output file>

java
-cp stanford-corenlp-3.3.0.jar:stanford-corenlp-3.3.0-models.jar:xom.jar:joda-time.jar:jollyday.jar
-Xmx3g edu.stanford.nlp.pipeline.StanfordCoreNLP
-annotators tokenize,ssplit,pos,lemma,ner,parse,dcoref
-file input.txt

第一个使用stanford-corenlp-2012-07-06.jar,第二个使用stanford-corenlp-3.3.0.jar

你说stanford-corenlp-2012-07-06.jar 包含缺失的类。这就解释了为什么一个有效而前一个无效。

此外,这些命令之间也存在一些差异。当就“这可行而这不可行”的情况寻求帮助时,最好将差异限制在产生影响的单个参数上。这将完成 3 件事:

  1. 显示您尝试过的社区。​​li>
  2. 防止成员花费时间对与问题无关的组件进行故障排除。
  3. 这可能会让您自己弄清楚。

【讨论】:

  • 感谢您的编辑。不知道我是怎么搞砸的。
猜你喜欢
  • 1970-01-01
  • 2011-09-14
  • 2014-11-06
  • 2012-11-18
  • 1970-01-01
  • 1970-01-01
  • 2016-09-29
相关资源
最近更新 更多