gpt4 book ai didi

java - 如何从 CMD 编译并运行依赖于 JAR 文件的 java 文件?

转载 作者:太空宇宙 更新时间:2023-11-04 11:19:53 27 4
gpt4 key购买 nike

请耐心等待,因为这是我的第一篇文章,我仍然不太熟悉 CMD 和 java 命令。我已经查看了 20 多篇关于这个主题的帖子,但似乎没有一个有答案,因为我不断遇到错误。目前我有一些在 NetBeans 中运行的代码 (TestCoreNLP)。但是,当我尝试从 CMD 运行该程序时,没有运气。

我尝试使用以下命令运行 .JAR:

C:\Users\Forrest_Hunter\Documents\NetBeansProjects\ParsingEngine\dist>java -jar ParsingEngine.jar "C:\Users\Forrest_Hunter\Desktop\Summer Project\Unassigned Cases\input.xml" 

但是我收到此错误...

Exception in thread "main" java.lang.NoClassDefFoundError: edu/stanford/nlp/pipeline/StanfordCoreNLP
at Test.TestCoreNLP.main(TestCoreNLP.java:25)
Caused by: java.lang.ClassNotFoundException: edu.stanford.nlp.pipeline.StanfordCoreNLP
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more

我还尝试使用此命令编译我的代码(编译成功):

C:\Users\Forrest_Hunter\Documents\NetBeansProjects\ParsingEngine>javac -classpath .;stanford-corenlp-3.8.0.jar src/Test/TestCoreNLP.java

但是当我尝试使用此命令运行代码时:

C:\Users\Forrest_Hunter\Documents\NetBeansProjects\ParsingEngine>java -classpath .;stanford-corenlp-3.8.0.jar src/Test/TestCoreNLP

...我收到此错误:

Error: Could not find or load main class src.Test.TestCoreNLP

根据我读过的所有其他线程的理解,我认为我的类路径有问题,并且它没有指向所需 JAR 文件的位置,但老实说我不确定如何修复它。

最佳答案

必须根据您的问题做出一些假设。

通过提供主类文件及其完整的包结构来调用 java 命令行。

所以在你的情况下,我假设你的包是Test,并且类文件TestCoreNLP

你可以将其调用为

java Test.TestCoreNLP

或者根据你的情况

java -classpath .;stanford-corenlp-3.8.0.jar Test.TestCoreNLP

您的类路径定义很好,有两件事需要检查。

您当前的目录应该是包含目录Test的目录,该目录中有一个类文件TestCoreNLP.class

如果该类位于 Jar 内,请确保您只是使用 package-name.class-name 调用它

关于java - 如何从 CMD 编译并运行依赖于 JAR 文件的 java 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45041450/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com