我能够从PowerShell编译我的java代码,但无法运行它

时间:2017-07-14 13:23:15

标签: java powershell stanford-nlp

我能够从CMD编译并运行我的java代码,但是当我尝试在PS中运行相同的命令时,我收到错误消息。我已阅读并被告知CMD命令在PS中有效,但CMD命令在PS

中无效

以下是我用来执行程序的行:

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

我正在从我需要的JAR文件所在的目录运行该命令。错误消息说......

The command stanford-corenlp-3.8.0-models.jar was not found, but does exist 
in the current location. Windows PowerShell does not load commands from the 
current If you trust this command, instead type: ".\stanford-corenlp-3.8.0-
models.jar".

进行了更改,代码现在看起来像这样。

java -classpath .\;stanford-corenlp-3.8.0.jar;stanford-corenlp-3.8.0-
javadoc.jar;stanford-corenlp-3.8.0-models.jar;stanford-corenlp-3.8.0-
models.jar Test.TestCoreNLP

仍然收到完全相同的错误消息。我也尝试过上一个目录而没有运气。我已经查看了StackOverflow并完成了我的研究。

非常感谢任何帮助。 感谢。

2 个答案:

答案 0 :(得分:0)

使用.\可以用于一个文件,但由于你有许多文件,你应该引用每个文件中的当前目录。

java -classpath .\stanford-corenlp-3.8.0.jar;.\stanford-corenlp-3.8.0-javadoc.jar;.\stanford-corenlp-3.8.0-models.jar;.\stanford-corenlp-3.8.0-models.jar .\Test.TestCoreNLP

Java 6还支持通配符as this answer indicates,因此您可以尝试使用它。

java -cp ".\*" .\Test.TestCoreNLP

答案 1 :(得分:0)

我来这里也遇到了类似的麻烦,我发现当这样运行时:

java -cp .\target\somelib.jar;.\target\myapp-1.0-SNAPSHOT.jar com.ethoca.app.myapp

我会获得帮助信息。我的发现是我需要对类路径列表加双引号,例如:

java -cp ".\target\somelib.jar;.\target\myapp-1.0-SNAPSHOT.jar" com.ethoca.app.myapp