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

mwg9r5ms  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(419)

我能够从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

仍然收到完全相同的错误消息。我也试过上一个目录,但运气不好。我到处找了,也做了研究。
任何帮助都将不胜感激。谢谢。

guz6ccqo

guz6ccqo1#

使用 .\ 只适用于一个文件,但由于您有多个文件,因此应该在每个文件中引用当前目录。

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

Java6也支持通配符,正如这个答案所指出的,所以您可以简单地尝试一下。

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

vddsk6oq2#

我也是带着同样的麻烦来这里的,我发现当我这样跑的时候:

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

相关问题