Stanford-NLP:找不到主类错误

时间:2015-01-15 01:43:52

标签: java terminal stanford-nlp

这个问题似乎已被回答了几次(What does "Could not find or load main class" mean?https://stackoverflow.com/a/16208709/2771315),但由于某些原因,没有一个共享方法正在运作。

到目前为止我做了什么。

1)导航到终端中包含CoreNLP源文件的目录:~/Downloads/CoreNLP-master/src

2)选择其中一个包作为测试用例,例如执行了命令java -cp "*" -mx5g edu.stanford.nlp.sentiment.SentimentPipeline -file foo.txt(根据文档,http://nlp.stanford.edu/sentiment/code.html

我通过更改classpath -cp条件并使用set CLASSPATH = $CLASSPATH=~/Downloads/CoreNLP-master/src设置它来尝试上述变体,但似乎无法获得结果。有谁知道我做错了什么?如果我冒险猜测,我认为类路径有问题,但我不确定是什么。

3 个答案:

答案 0 :(得分:3)

类路径应指向类,而不是源文件。如果您正在使用代码的GitHub版本,则可以将类路径设置为:

-cp ~/Downloads/CoreNLP-master/classes:/path/to/corenlp/models.jar

您可以在http://nlp.stanford.edu/software/stanford-corenlp-models-current.jar找到最新版本的CoreNLP型号(警告:> 200MB文件)

如果您有一个corenlp版本,则应将类路径设置为:

-cp /path/to/corenlp.jar:/path/to/corenlp/models.jar

例如:

export CLASSPATH=stanford-corenlp-3.9.1.jar:stanford-corenlp-3.9.1-models.jar

corenlp jar和模型jar都应该显示在代码的压缩版本中(例如,来自http://nlp.stanford.edu/software/corenlp.shtml

答案 1 :(得分:1)

这对我来说非常好。

java -cp "../*" -mx1g edu.stanford.nlp.sentiment.SentimentPipeline -file test.txt 

在classes目录中运行此命令。

答案 2 :(得分:0)

您正在尝试运行该程序,而不是编译它。