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

时间:2014-06-19 00:18:11

标签: java jar classpath

使用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'从那里,加法程序运行良好

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

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

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

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