executing java -jar via classpath vs in the jar file dir

南笙酒味 提交于 2019-12-20 07:26:08

问题


After having used NetBeans to create a Java program call it Addition and then having successfully cleaned and built an Executable Jar File in a folder c:\Users\Ben\Doc\NetBeansProjects\Addition\dist

WHY is it that when executing, from command prompt, c:\Users\Ben Java -Jar -cp "c:\Users\Ben\Doc\NetBeansProjects\Addition\dist" Addition.jar it does NOT work (i get 'unable to access jarfile Addition.jar) BUT if i use cd to change my current dir to c:\Users\Ben\Doc\NetBeansProjects\Addition\dist and THEN run 'java -jar Addition.jar' from there, the Addition program runs fine


回答1:


The -classpath argument is ignored when you use the -jar option. See the documentation.




回答2:


because java doesn't look in classpath to launch jar file for this command it needs file as input

so if you set the directory where your jar file is placed and try to execute java -jar command and expect it to pick up jar from that directory because it is in classpath it is not valid

you can give full path to jar like from any directory

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


来源:https://stackoverflow.com/questions/24296956/executing-java-jar-via-classpath-vs-in-the-jar-file-dir

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!