windows与linux下执行.class(包含main方法)

一般来说,执行一个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参数

posted on 2019-06-06 08:56  花非花-雾非雾  阅读(793)  评论(0编辑  收藏  举报