Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netbeans 斯坦福大学CoreNLP:构建错误(NoSuchMethodError)_Netbeans_Maven_Nlp_Stanford Nlp - Fatal编程技术网

Netbeans 斯坦福大学CoreNLP:构建错误(NoSuchMethodError)

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

抱歉,如果这是新手的问题。 我试图在Netbeans中使用maven来构建CoreNLP解析器

我首先添加了对StanfordCorenlp1.2.0的依赖性。然而,我在编译代码时总是出错。我试图简化我的代码,只创建StanfordCoreNLP对象,但它仍然无法使用相同的错误消息。我想这里可能会有主要的麻烦点

我的简化代码如下所示:

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>