所以我下载并解压缩了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时我遇到了未知的符号问题。
非常感谢您在启动和运行服务器版本时的所有帮助,非常感谢。
答案 0 :(得分:1)
CoreNLP服务器正在下一版CoreNLP中发布,尚未在3.5.2版本中发布。您现在可以通过克隆整个GitHub存储库并从源代码编译项目来运行它。要创建单个jar,可以从签出的目录运行ant jar
。
答案 1 :(得分:1)
新版本的Stanford CoreNLP 3.6.0已经发布,服务器应该可以正常使用这个新版本。
答案 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。