尝试运行Stanford Core NLP服务器会导致“无法找到或加载主类”错误

时间:2015-12-07 06:46:00

标签: java ant stanford-nlp

所以我下载并解压缩了stanford corenlp工具版本3.5.2。我可以通过运行命令行版本来运行:

java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP

但我无法让服务器版本正常运行。我试过跑

java -cp "*" -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLPServer

但得到错误

Error: Could not find or load main class     
       edu.stanford.nlp.pipeline.StanfordCoreNLPServer

当我从stanford-corenlp-3.5.2-sources.jar和stanford-corenlp-3.5.2.jar中提取文件时,他们似乎都缺少StanfordCoreNLPServer.class文件,即使在github repo上,该文件存在于管道目录中。

我还尝试从github添加StanfordCoreNLPServer.java文件并重新编译,但在运行ant时我遇到了未知的符号问题。

非常感谢您在启动和运行服务器版本时的所有帮助,非常感谢。

3 个答案:

答案 0 :(得分:1)

CoreNLP服务器正在下一版CoreNLP中发布,尚未在3.5.2版本中发布。您现在可以通过克隆整个GitHub存储库并从源代码编译项目来运行它。要创建单个jar,可以从签出的目录运行ant jar

答案 1 :(得分:1)

新版本的Stanford CoreNLP 3.6.0已经发布,服务器应该可以正常使用这个新版本。

http://stanfordnlp.github.io/CoreNLP/index.html

答案 2 :(得分:0)

所以我只是想在这里发帖,以防其他人遇到同样的事情。

我能够通过取消主jar文件并将下载工具的SRC目录替换为github中的src目录,然后从“lib”目录中添加所有外部jar来使其工作。 github到工具的主目录。然后按照他们的说明重新编译:

提取代码源文件

src

代码将被解压缩到ant cd classes ; jar -cfm ../stanford-corenlp-<version>.jar ../META-INF/MANIFEST.MF edu ; cd .. 目录

重新编译代码库:

ANT_HOME

要运行ant,请确保已安装ant并设置java -cp "*" -mx4g edu.stanford.nlp.pipeline.StanfordCoreNLPServer

然后从我运行的主目录

localhost:9000

,服务器在{{1}}工作。

显然这不是正确的方法,如果您正在阅读本文,您应该遵循Gabor的答案,或者只是为了释放下一版本的CoreNLP。