Netbeans 斯坦福大学CoreNLP:构建错误(NoSuchMethodError)
抱歉,如果这是新手的问题。 我试图在Netbeans中使用maven来构建CoreNLP解析器 我首先添加了对StanfordCorenlp1.2.0的依赖性。然而,我在编译代码时总是出错。我试图简化我的代码,只创建StanfordCoreNLP对象,但它仍然无法使用相同的错误消息。我想这里可能会有主要的麻烦点 我的简化代码如下所示:Netbeans 斯坦福大学CoreNLP:构建错误(NoSuchMethodError),netbeans,maven,nlp,stanford-nlp,Netbeans,Maven,Nlp,Stanford Nlp,抱歉,如果这是新手的问题。 我试图在Netbeans中使用maven来构建CoreNLP解析器 我首先添加了对StanfordCorenlp1.2.0的依赖性。然而,我在编译代码时总是出错。我试图简化我的代码,只创建StanfordCoreNLP对象,但它仍然无法使用相同的错误消息。我想这里可能会有主要的麻烦点 我的简化代码如下所示: import java.util.Properties; import edu.stanford.nlp.pipeline.StanfordCoreNLP; P
import java.util.Properties;
import edu.stanford.nlp.pipeline.StanfordCoreNLP;
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
错误消息:
Exception in thread "main" java.lang.NoSuchMethodError:
edu.stanford.nlp.process.PTBTokenizer.factory
(Ledu/stanford/nlp/process/LexedTokenFactory;Ljava/lang/String;)Ledu/stanford/nlp/objectbank/TokenizerFactory;
at edu.stanford.nlp.pipeline.PTBTokenizerAnnotator.<init>(PTBTokenizerAnnotator.java:42)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$1.create(StanfordCoreNLP.java:365)
at edu.stanford.nlp.pipeline.StanfordCoreNLP$1.create(StanfordCoreNLP.java:355)
at edu.stanford.nlp.pipeline.AnnotatorPool.get(AnnotatorPool.java:62)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.construct(StanfordCoreNLP.java:328)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:194)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:184)
at edu.stanford.nlp.pipeline.StanfordCoreNLP.<init>(StanfordCoreNLP.java:176)
at com.mycompany.hellocore.App.main(App.java:26)
我的Netbeans中的设置:
但看起来需要的库与Netbeans中已经下载的库一样。添加注释器标记化时,项目仍然停止
[更新] 01-09-2012 我重新安装系统后,问题就解决了。所以我认为代码和模块都是正确的。类路径目录可能被我弄乱了。谢谢大家的帮助 对于通过Netbeans使用corenlp的用户来说,这只是一个温和的提醒。除了stanford-corenlp.jar的标准依赖项之外。如果您想将stanford-corenlp-models.jar包含到您的项目中。似乎您还需要指定
以将模型添加到依赖项存储库中
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>1.2.0</version>
<classifier>models</classifier>
</dependency>
edu.stanford.nlp
斯坦福大学科伦普
1.2.0
模型
提示存在其他依赖项。如果由于stanford corenlp 1.2.0
上声明的依赖关系,它们没有以可传递的方式包含在类路径中,那么您还必须显式地声明这些其他依赖关系。命令mvn dependency:tree应显示有效的依赖关系树。您需要包括模型(POS标签、NER、Coref等),以便注释器工作。你可以得到它
您好,谢谢您的快速回复。我尝试了“mvn依赖关系:树”。然而,看起来基本的东西应该已经下载了(如我的文章中所述)。但同样,由于项目停止在“添加注释器令牌化”,它仍然无法构建令牌化器。感谢您的建议。然而,即使在我把它包括进去之后,这仍然没有奏效。最后我放弃了,重新安装了整个系统。令人惊讶的是,一切都恢复了生机。尽管我之前并没有改变太多的配置,但我认为我可能仍然会弄糟一些东西,使它无法按预期工作。总之,谢谢大家的帮助!
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>1.2.0</version>
<classifier>models</classifier>
</dependency>