java 斯坦福 NLP:找不到主类错误

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/27955569/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-11-02 12:42:09  来源:igfitidea点击:

Stanford-NLP: Could not find main class error

javaterminalstanford-nlp

提问by Black

This question seems to have been answered a few times (What does "Could not find or load main class" mean?and https://stackoverflow.com/a/16208709/2771315) but for some reason none of the shared methods are working.

这个问题似乎已经回答了几次(“找不到或加载主类”是什么意思?https://stackoverflow.com/a/16208709/2771315)但由于某种原因,共享方法都不起作用.

What I've done so far.

到目前为止我所做的。

1) Navigated to the directory containing the CoreNLP source files in terminal: ~/Downloads/CoreNLP-master/src

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

2) Selected one of the packages as a test case e.g. executed the command java -cp "*" -mx5g edu.stanford.nlp.sentiment.SentimentPipeline -file foo.txt(as per the docs, http://nlp.stanford.edu/sentiment/code.html)

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

I've tried variations of the above by altering the classpath -cpcondition and setting it using set CLASSPATH = $CLASSPATH=~/Downloads/CoreNLP-master/srcbut can't seem to get a result. Does anyone know what I'm doing wrong? If I were to hazard a guess, I think that there is something wrong with the classpath but I'm not sure what.

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

回答by Gabor Angeli

The classpath should point to the classes, not the source files. If you're using the GitHub version of the code, you can set the classpath to be:

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

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

You can find the most recent version of the CoreNLP models at: http://nlp.stanford.edu/software/stanford-corenlp-models-current.jar(warning: >200MB file)

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

If you have one of the corenlp releases, you should set your classpath to:

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

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

For example:

例如:

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

Both the corenlp jar and the models jar should show up in the zipped release of the code (e.g., from http://nlp.stanford.edu/software/corenlp.shtml)

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

回答by user2481205

This worked perfectly fine for me.

这对我来说非常好。

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

Run this command while you are in the classes directory.

在 classes 目录中运行此命令。

回答by Fernando Mendez

You are trying to run the program, instead of compiling it.

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