一般来说,执行一个java文件采用执行jar包的方式最为方便(java -jar XXX.jar),将所需要的文件全部打到一个jar里,但是有些时候需要执行指定的.class文件才行(各种原因),这个时候就需要我们使用 -classpath 参数来指定类路径。
windows:
假设要执行的文件为D:\test\Test.class
1.在cmd下进入D盘
2.执行java test.Test 或者 java test/Test 都可以
3.如果Test中关联了其它jar包,这需要通过如下方式执行,假设jar文件在test\lib下
java -classpath .;lib/* test.Test
说明如下:
注意这里使用了-classpath参数:
"."代表当前路径,这是java执行时的默认路径,所以在执行了classpath后需要手工加上这个路径,否则会提示找不到要执行的类。
";"用来隔开两个路径
"lib/*"表示lib下的所有jar文件,如果只使用某一个jar,可以具体指定,如"lib/XX.jar"
linux:
假设要执行的文件为/usr/local/test/Test.class
1.在shell下进入/usr/local
2.执行方式如下
java -classpath . test.Test
说明:linux下执行.class时,需要指定-classpath,这与linux的环境变量设置方式有关,linux不提倡指定".",而windows在设置CLASS_PATH环境变量时一般都加上这个".",这么说明白了吧
3.如果关联了其它jar文件,执行方式如下
java -classpath .:lib/*
说明:与windows相似,除了分隔符需要使用linux的分隔符":"
总结:
综上所述,建议在执行java命令时加上-classpath参数
原文地址:https://www.cnblogs.com/tan-chao/p/10983068.html