通过classpath vs在jar文件dir中执行java -jar

在使用NetBeans创建Java程序之后,将其称为Addition,然后在文件夹c:\ Users \ Ben \ Doc \ NetBeansProjects \ Addition \ dist中成功清理并构建了可执行Jar文件

为什么从命令提示符执行时,c:\ Users \ Ben Java -Jar -cp“c:\ Users \ Ben \ Doc \ NetBeansProjects \ Addition \ dist”Addition.jar它不起作用(我得’无法访问jarfile Addition.jar)但是,如果我使用cd将我当前的目录更改为c:\ Users \ Ben \ Doc \ NetBeansProjects \ Addition \ dist,那么从那里运行’java -jar Addition.jar’,Addition程序运行精细

使用-jar选项时,将忽略-classpath参数。 请参阅文档。

因为java不在类路径中查找为此命令启动jar文件,所以它需要文件作为输入

所以如果你设置放置jar文件的目录并尝试执行java -jar命令并期望它从该目录中获取jar,因为它在类路径中它无效

你可以从任何目录提供jar的完整路径

java -jar c:\Users\Ben\Doc\NetBeansProjects\Addition\dist\Addition.jar