尝试 运行 Java 程序 class 路径; java 找不到我原编译的 class
Trying to run Java program with classpath; java is not able to find my original compiled class
java 菜鸟在这里。我正在尝试编译一个 运行 一个 java 程序,它使用 stanford-corenlp-3.9.1.jar。我正在尝试使用 MacOS 终端编译它。以下是各种命令的输出
javac QuestionsToAnswer.java
这会导致大量错误
QuestionsToAnswer.java:5: error: package edu.stanford.nlp.trees does not exist
import edu.stanford.nlp.trees.Tree;
^
QuestionsToAnswer.java:6: error: package edu.stanford.nlp.trees.tregex does not exist
import edu.stanford.nlp.trees.tregex.TregexMatcher;
^
...
所以我 运行 这个:
javac -cp stanford-corenlp-3.9.1.jar QuestionsToAnswer.java
这按预期工作并创建了一个 QuestionToAnswer.class 文件。
然后当我尝试 运行 程序时
java QuestionsToAnswer
它给了我以下错误:
Error: Unable to initialize main class QuestionsToAnswer
Caused by: java.lang.NoClassDefFoundError: edu/stanford/nlp/trees/Tree
为了解决这个问题,我将 class 路径添加到 java 命令,以便它能够从斯坦福图书馆找到 Tree
Class
java -cp stanford-corenlp-3.9.1.jar QuestionsToAnswer
然后它给了我以下错误:
Error: Could not find or load main class QuestionsToAnswer
Caused by: java.lang.ClassNotFoundException: QuestionsToAnswer
添加 class 路径后,java 无法找到我的原始 class 文件,该文件已编译并存在于目录中。我在这里做错了什么?
jar 文件必须位于 class 路径中,因为您的代码使用此 jar 中的 classes。所以Java一定能找到他们。
包含你的class的目录必须也在class路径中,否则Java 不可能找到它。
java -cp .:stanford-corenlp-3.9.1.jar QuestionsToAnswer
在 Unix/MacOS 或
java -cp .;stanford-corenlp-3.9.1.jar QuestionsToAnswer
于 Windows。
java 菜鸟在这里。我正在尝试编译一个 运行 一个 java 程序,它使用 stanford-corenlp-3.9.1.jar。我正在尝试使用 MacOS 终端编译它。以下是各种命令的输出
javac QuestionsToAnswer.java
这会导致大量错误
QuestionsToAnswer.java:5: error: package edu.stanford.nlp.trees does not exist
import edu.stanford.nlp.trees.Tree;
^
QuestionsToAnswer.java:6: error: package edu.stanford.nlp.trees.tregex does not exist
import edu.stanford.nlp.trees.tregex.TregexMatcher;
^
...
所以我 运行 这个:
javac -cp stanford-corenlp-3.9.1.jar QuestionsToAnswer.java
这按预期工作并创建了一个 QuestionToAnswer.class 文件。
然后当我尝试 运行 程序时
java QuestionsToAnswer
它给了我以下错误:
Error: Unable to initialize main class QuestionsToAnswer
Caused by: java.lang.NoClassDefFoundError: edu/stanford/nlp/trees/Tree
为了解决这个问题,我将 class 路径添加到 java 命令,以便它能够从斯坦福图书馆找到 Tree
Class
java -cp stanford-corenlp-3.9.1.jar QuestionsToAnswer
然后它给了我以下错误:
Error: Could not find or load main class QuestionsToAnswer
Caused by: java.lang.ClassNotFoundException: QuestionsToAnswer
添加 class 路径后,java 无法找到我的原始 class 文件,该文件已编译并存在于目录中。我在这里做错了什么?
jar 文件必须位于 class 路径中,因为您的代码使用此 jar 中的 classes。所以Java一定能找到他们。
包含你的class的目录必须也在class路径中,否则Java 不可能找到它。
java -cp .:stanford-corenlp-3.9.1.jar QuestionsToAnswer
在 Unix/MacOS 或
java -cp .;stanford-corenlp-3.9.1.jar QuestionsToAnswer
于 Windows。