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

来源:http://blog.csdn.net/hanqunfeng/article/details/4327325

 一般来说,执行一个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/sanxinglan/p/3336532.html